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

Вниз

Как второй раз не открыть дочерное окно?   Найти похожие ветки 

 
fast2   (2006-08-08 17:48) [0]

Есть MDI приложение. По нажатию на определенном пункте меню, создается дочерное окно. Как сделать, чтоб при выборе этого же меню, дочерная форма не создавалась, а делалась активной?


 
StriderMan ©   (2006-08-08 17:52) [1]

заведи в модуле формы переменную этой формы (вобщем делфи сам эту переменную всегда создает создает) и проставь начальное значение nil. В конструкторе формы проверяй эту переменную на nil, и если не nil, то в конструкторе делаешь Abort и активируешь нужную форму.


 
Loginov Dmitry ©   (2006-08-08 17:55) [2]

IsFind := False;
for I := MDIChildCount - 1 downto 0 do
 if MDIChildren[I] is TForm2 then
 begin
   TForm2(MDIChildren[I]).Show; {Или еще что - то :) }
   IsFind := True;
   Break;
 end;

if not IsFind then TForm2.Create(Application);


 
Loginov Dmitry ©   (2006-08-08 17:55) [3]

Да. С переменной проще ;)


 
StriderMan ©   (2006-08-08 18:05) [4]


> StriderMan ©   (08.08.06 17:52) [1]
> активируешь нужную форму.

в догонку:
нужная форма будет лежать в этой самой переменной.
соответственно ей говоришь Show, а потом в конструкторе Abort.


 
fast2   (2006-08-08 18:07) [5]

Спасибо!


 
Loginov Dmitry ©   (2006-08-08 18:41) [6]

> а потом в конструкторе Abort.


Зачем? Конструктор ведь нигде не используется, кроме как в файле проекта, т.е. форма создается за время работы программы только 1 раз.



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

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

Наверх




Память: 0.47 MB
Время: 0.046 c
3-1150872268
Jakudza
2006-06-21 10:44
2006.08.27
Как в QuickReport сделать CrossTab отчет


15-1154067265
Layner
2006-07-28 10:14
2006.08.27
Как в 2000/2003 включить логирование входов/выходов юзеров


1-1152639434
MikProg
2006-07-11 21:37
2006.08.27
Сенсация! Код initialization может не выполнятся!


15-1154323092
Ega23
2006-07-31 09:18
2006.08.27
С Днём рождения! 31 июля


2-1154794421
Yusuf
2006-08-05 20:13
2006.08.27
Большие текстовые файлы