Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.27;
Скачать: CL | DM;

Вниз

MDI и Child   Найти похожие ветки 

 
Talla2k ©   (2003-11-15 12:29) [0]

Имеется следующий код (сам придумал) :

nn:integer; // хендл главного окна

...

begin
nn:=findwindowex(getactivewindow,0,"MDIClient",nil);
if findwindowex(nn,0,"TForm2",nil)=0 then
Application.CreateForm(TForm2, Form2) ;
end;

Вопрос : оптимизировать этот код как-то можно(а то что-то большой)?
и желательно без использования глобальной переменной nn.


 
Nikolay M. ©   (2003-11-15 12:31) [1]


> begin
> nn:=findwindowex(getactivewindow,0,"MDIClient",nil);
> if findwindowex(nn,0,"TForm2",nil)=0 then
> Application.CreateForm(TForm2, Form2) ;
> end;


if (not Assigned (Form2)) then
Application.CreateForm (TForm2, Form2);
?


 
Talla2k ©   (2003-11-15 13:07) [2]

to Nikolay M.
Да это работает(ТОЛЬКО ПРИ ПЕРВОМ ОТКРЫТИИ И ВСЕ) :

program Project1;

uses
Forms,
Unit1 in "Unit1.pas" {Form1},
Unit2 in "Unit2.pas" {Form2},
Unit3 in "Unit3.pas" {Form3};

{$R *.RES}

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
// забыл сказать,что я её не закружаю это я про Form2
Application.Run;
end.

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
if (not assigned (form2)) then Application.CreateForm(TForm2, Form2);
end;

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;

и соответственно когда я после закрытия Form2 опять хочу её открыть ОНА НЕ ОТКРЫВАЕТСЯ.


 
Romkin ©   (2003-11-15 13:15) [3]

Форма сама закрывается, значит.
В TForm2.OnDestroy поставь Form2 := nil - там уже можно


 
Talla2k ©   (2003-11-15 13:25) [4]

Всем БОЛЬШОЕ СПАСИБО!!! РАБОТАЕТ!!!



Страницы: 1 вся ветка

Текущий архив: 2003.11.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
3-89751
space
2003-11-08 00:06
2003.11.27
распространение базы данных на диске


3-89696
чайник
2003-11-06 10:22
2003.11.27
ошибка при активации TQuery


3-89706
lovres
2003-11-10 15:45
2003.11.27
Где взять help по работе с SMExport?


14-90056
mastadont
2003-11-04 21:01
2003.11.27
Есть у кого-нибудь желаниt написать статью?


4-90165
Volly
2003-10-04 14:24
2003.11.27
Сообщения в DLL