Главная страница
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.015 c
1-89990
Dmitriy M. Volkov
2003-11-17 14:15
2003.11.27
FindNext - поиск заново


14-90060
sancho
2003-11-05 21:48
2003.11.27
Задачка по математике


3-89708
ZHK
2003-11-06 09:40
2003.11.27
Paradox 4.5


1-89862
Multy
2003-11-16 07:48
2003.11.27
Открытие окон подобно word


14-90122
Angel_Forever
2003-11-03 05:05
2003.11.27
Глюки с винтом