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

Вниз

MDI одна форма   Найти похожие ветки 

 
velial   (2003-11-14 14:40) [0]

Как можно проверить открыта ли форма MDIChild?
т.е. если одна уже запущена, то показать ее и создавать новую?
причем желательно универсальную, т.к. в проекте очень много форм

что-то типа GetWndHandel, и как узнать Хендел формы


 
PVitaliy ©   (2003-11-14 14:50) [1]

Перебрать в цикле все формы, которые созданы в приложении

for j:=0 to Screen.FormCount-1 do begin // Iterate
if Screen.Forms[j] is TUourFormClass then
with TUourFormClass(Screen.Forms[j]) do begin
if {еще какието критерии отбора формы} then begin
Show; //показать форму, сделать ее активной
.....
end;
end;
end; // for


 
Silver Alex ©   (2003-11-14 14:59) [2]


> PVitaliy ©

привет, работаете по старой схеме ? :))

можно и так, без всяких там наследований

function IsFormFoundEx(AFormClass :TFormClass) : boolean;
var
i:integer;
begin
Result:=False;

for i:=0 to Screen.FormCount - 1 do
if (Screen.Forms[i] is AFormClass) then begin
(Screen.Forms[i] as TForm).BringToFront;
Result:=True;
break;
end;
if not Result then
AFormClass.Create(Application);
end;


 
PVitaliy ©   (2003-11-14 15:08) [3]


> Silver Alex ©
> привет, работаете по старой схеме ? :))

Тебе привет. Да нет я уже полгода как запросы не писал и с базами не работал, так выдал, по старой памяти.


 
velial   (2003-11-14 15:27) [4]

спасибо!



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

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

Наверх




Память: 0.47 MB
Время: 0.029 c
14-79182
Soft
2003-10-25 01:29
2003.11.24
Есть ли смерть после жизни?


8-79066
my4ga
2003-07-29 10:59
2003.11.24
Озвучить текст


4-79221
w666w
2003-09-30 12:29
2003.11.24
TerminateThread - почему не работает?


14-79102
Dunmer
2003-10-27 17:50
2003.11.24
Товарищи сколько стоит написать парсер?


1-78989
Denisiy
2003-11-14 13:43
2003.11.24
Как календарю присвоить сегодняшнюю дату?