FindWindow函数没有正确执行,请各位指点一下。

wushenjian 2002-11-09 05:05:13
我想通过 Application.CreateForm在运行时创建窗体,代码如下:

procedure TMainForm.CtnUnlockExecute(Sender: TObject);
begin
screen.Cursor:=crhourglass;
try
if FindWindow('TUnlockCtnForm','UnlockCtnForm')<>0 then
UnlockCtnForm.Show
else
begin
Application.CreateForm(TUnlockCtnForm,UnlockCtnForm);
UnlockCtnForm.Show;
end;
finally
screen.Cursor:=crdefault;
end;

end;

问题1:当我点击菜单创建了一个窗体后,再次点击菜单,竟然还能
创建第二个相同的窗体,也就是说FindWindow函数没有执行,各位
能否解释一下。

问题2:除了Findwindow函数外,有没有其他函数判断窗体(包括
被hide的窗体)是否已经存在?

谢谢!
...全文
52 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
guorui_wh 2002-11-09
  • 打赏
  • 举报
回复
up
wushenjian 2002-11-09
  • 打赏
  • 举报
回复
多谢 alphax() ( ) !
你帮了我的大忙!请接分!
结贴了!
耙子 2002-11-09
  • 打赏
  • 举报
回复
如果你是MDI窗口用FindWindow是找不到的。
alphax 2002-11-09
  • 打赏
  • 举报
回复
你看看dpr文件,看看能不能发现问题在那里
另外,没有必要用FindWindow,用变量是否为nil来判断要快很多(当然Destroy的
时候相应把它设为nil

2,495

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧