Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.016 c
3-78763
Serg_KG
2003-11-02 18:42
2003.11.24
Поиск в базе


6-79085
Mr.Ice
2003-09-28 02:31
2003.11.24
webbrowser


4-79220
Wizard_Ex
2003-09-29 17:43
2003.11.24
Нужно выдрать иконку MDIChild окна


1-78897
Тохус
2003-11-12 22:27
2003.11.24
FindComponent


1-78915
AlexanderSK
2003-11-12 16:39
2003.11.24
vcl.bpl и rtl60.bpl




   Наверх