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

dpbug 2004-04-30 01:38:59
delphi中如何在程序中判断一个窗口是否已经Show了?(这个窗口是程序自己的)
...全文
287 10 点赞 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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('程序为隐藏状态');
  • 打赏
  • 举报
回复
相关推荐
发帖
Windows SDK/API
加入

1163

社区成员

Delphi Windows SDK/API
申请成为版主
帖子事件
创建了帖子
2004-04-30 01:38
社区公告
暂无公告