请教高手,如何判断一个Frame是否已经存在???
我的程序原来用的是form,在单击菜单时先判断这个form是否已经存在
if not FormExists('frmQrymnl') then
frame := TfrmQrymnl.Create(Self);
//以下是函数
FUNCTION FormExists(FORM_NAME:STRING):BOOLEAN;
BEGIN
IF application.FindComponent(FORM_NAME)=nil then
RESULT := FALSE
ELSE
RESULT := TRUE;
END;
现在我的程序为了不弹出窗口(客户要求),改用frame,但是问题来了,FormExists('frmQrymnl')
不再有效了,判断不了这个frame是否已经存在,我改怎么判断一个frame是否已经存在呢?谢谢高手帮忙!
问题点数:20、回复次数:7Top
1 楼zhenpengka(小鸟笨笨)回复于 2006-06-03 17:22:33 得分 0
FindWindowTop
2 楼delphi57(戴妃)回复于 2006-06-03 17:25:18 得分 0
没有这个方法啊!Top
3 楼whbo(王红波(年轻人,要有所作为))回复于 2006-06-03 21:52:54 得分 0
好象可以在创建时用if assign()Top
4 楼delphi57(戴妃)回复于 2006-06-04 11:36:03 得分 0
if assigned(frm)好像不行!
谢谢高手们了!Top
5 楼phm(狼人)回复于 2006-06-05 08:19:18 得分 0
查找窗体类名是否存在.Top
6 楼delphi57(戴妃)回复于 2006-06-05 17:55:16 得分 0
phm(狼人)
查找窗体类名是否存在.
、、、、
怎么找?
用哪个方法?给个提示行不?谢谢了Top
7 楼delphi57(戴妃)回复于 2006-06-06 09:04:40 得分 0
现在我找到它是否已经创建了,
has := false;
for i:=0 to 9 do begin
if captions[i]='模拟量查询' then begin
has := true;
break;
end;
end;
if(has = false) then begin
frame := TfrmQrymnl.Create(Self);
captions[0] := '模拟量查询';
end;
frame.Parent := panelMain;
但是,问题来了,当我打开一次后,第二次(已经被另一个frame占用了frame1.Parent := panelMain)就不能显示frame了,为什么?请指教!Top




