delphi中如何在程序中判断一个窗口是否已经Show了?(这个窗口是程序自己的)

dpbug 2004-04-30 01:38:59
delphi中如何在程序中判断一个窗口是否已经Show了?(这个窗口是程序自己的)
...全文
713 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
myling 2004-05-05
  • 打赏
  • 举报
回复
判断一个窗口是否已经Show了

用findwindow或者findwindowEX这两个API是简单有效的方法
arg 2004-05-05
  • 打赏
  • 举报
回复
楼上的这个 只要 form1.create, assigned 就会是true,没用的....
jhj_hua 2004-05-05
  • 打赏
  • 举报
回复
if assigned(form1) then
showmessage('有了')
d0347 2004-05-05
  • 打赏
  • 举报
回复
UP
hsmserver 2004-05-04
  • 打赏
  • 举报
回复
var h1:Thandle;
H1:=findwindow(nil,Form.caption);
if H1<>0 then
Showmessage(‘显示’)
else
showmessage('不显示');

huiwww 2004-05-04
  • 打赏
  • 举报
回复
对于一个被释放了的窗体来说,boytomato(深爱一人叫颖的女孩!) 也许可行,其他的似乎就不起作用了,解决的办法做好用:
if form1=nil then
showmessage('显示')
else
showmessage('未显示');

在释放的时候,不要忘了再加一句:
form1.free;
form1:=nil;

这样也许可以解决搂主的问题
ahjoe 2004-05-03
  • 打赏
  • 举报
回复
if Form2.Visible then
'已经SHOW了!'
boytomato 2004-04-30
  • 打赏
  • 举报
回复
不要忘了加上

uses shellapi ;
boytomato 2004-04-30
  • 打赏
  • 举报
回复

IsWindow(hWnd: HWND): BOOL;
  单元:windows.pas
  作用:判断一个窗口句柄是否有效
  返回值:有效返回TRUE,否则返回FALSE
  示例:

procedure TForm1.Button1Click(Sender: TObject);
  begin
  if (IsWindow(form1.Handle)) then
  Button1.Caption:=‘TRUE'
  else
  Button1.Caption:=‘FALSE';
  end;
xleo1999 2004-04-30
  • 打赏
  • 举报
回复
if form1.Showing then
showmessage('程序为显示状态')
else
showmessage('程序为隐藏状态');

1,183

社区成员

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

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