Форум: "Начинающим";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];
ВнизКак второй раз не открыть дочерное окно? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.072 c