Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2011, 11:24   #1
peter12317
 
Регистрация: 30.08.2009
Сообщений: 3
По умолчанию Не работает OnResize у динамической формы

Добрый день!

Проблема заключается в следующем:
При динамическом создании формы, не работает обработчик OnResize(), но не могу понять почему. Подскажите, кто знает, пожалуйста!

Проект состоит из главной формы fmMain (unMain.cpp), и по нажатии на кнопку Button1 я создаю экземпляр формы fmNewForm (unNewForm.cpp), по нажатии на кнопку Button2 я показываю форму fmNewForm (приэтом, ее обработчик OnResize прекрасно работает)

Вот код unMain.cpp:
Код:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "unMain.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TfmMain *fmMain;
TfmNewForm *NewForm;
//---------------------------------------------------------------------------
__fastcall TfmMain::TfmMain(TComponent* Owner)
	: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TfmMain::Button1Click(TObject *Sender)
{
	NewForm = new TfmNewForm(Application);
	NewForm->Height = fmNewForm->Height;
	NewForm->Width = fmNewForm->Width;
	NewForm->Show();
	NewForm->OnResize = fmNewForm->OnResize;
}
//---------------------------------------------------------------------------
void __fastcall TfmMain::Button2Click(TObject *Sender)
{
	fmNewForm->Show();
}
//---------------------------------------------------------------------------
Код unNewForm.cpp
Код:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "unNewForm.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TfmNewForm *fmNewForm;
//---------------------------------------------------------------------------
__fastcall TfmNewForm::TfmNewForm(TComponent* Owner)
	: TForm(Owner)
{
}
//-------------------------------------------------------------------------
void __fastcall TfmNewForm::FormResize(TObject *Sender)
{
	Caption = "OnResize! W: "+IntToStr(Width)+"; H: " + IntToStr(Height) + ";";
}
//---------------------------------------------------------------------------
Среда программирования CodeGear RAD Studio 2007 (C++ Builder 2007)
peter12317 вне форума Ответить с цитированием
Старый 10.02.2011, 09:37   #2
peter12317
 
Регистрация: 30.08.2009
Сообщений: 3
По умолчанию

Подскажите, что я делаю не так?
peter12317 вне форума Ответить с цитированием
Старый 18.02.2011, 18:59   #3
kwwsoft
 
Регистрация: 13.02.2011
Сообщений: 8
По умолчанию

NewForm->OnResize = fmNewForm->OnResize;
это зачем?
если создалась форма динамически то и соответственно все ее компоненты (обработчики событий) тоже созданы. Значит NewForm имеет свое OnResize, созданное на этапе проектирования - оно и будет работать....

причем
NewForm->Height = fmNewForm->Height;
NewForm->Width = fmNewForm->Width;

это зачем?
если нужны конкретные размеры формы - просто их присвоить... типа
NewForm->Height = 300

Последний раз редактировалось kwwsoft; 18.02.2011 в 19:02.
kwwsoft вне форума Ответить с цитированием
Старый 28.02.2011, 14:56   #4
peter12317
 
Регистрация: 30.08.2009
Сообщений: 3
По умолчанию

Большое спасибо! Все заработало как надо
peter12317 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Событие OnResize sting1920 Помощь студентам 6 25.02.2010 20:23
Создание динамической формы в delphi Скарам Помощь студентам 4 07.03.2009 12:00
onCanResize, onResize Airou Общие вопросы Delphi 3 30.07.2008 15:27
OnResize dbaluch Общие вопросы Delphi 9 11.06.2008 19:14
Динамический Label для динамической формы... Arkuz Общие вопросы Delphi 8 25.09.2007 00:03