Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
1-89832
Agent[007]
2003-11-14 06:44
2003.11.27
Двоичные файлы...


3-89694
LittleGirly
2003-11-05 15:26
2003.11.27
View в DBGrid


14-90094
Dark Elf
2003-11-04 16:30
2003.11.27
Просмотрщик dll


4-90177
AHTOH
2003-10-05 20:56
2003.11.27
Как вставить свои пункт в PopUp меню?


1-89922
Adoon
2003-11-18 17:52
2003.11.27
Формат RTF и JPG





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский