找回密码
 加入
搜索
查看: 6905|回复: 9

[GUI管理] 如何关闭这样的多窗口,有例子。[已解决]

  [复制链接]
发表于 2013-4-16 11:50:14 | 显示全部楼层 |阅读模式
本帖最后由 茫然 于 2013-4-17 14:32 编辑

举例如下:
假如多次点击$Button1后生成了很多子窗口(实际程序中子窗体是由某事件创建的,事先不会知道要创建多少个),现在需要点击子窗口的关闭按钮来关闭这些窗口(关闭各自的窗口),怎么做?
(因为多次创建子窗口后,句柄肯定是变了,所以如果只有一个子窗口,点击”关闭本窗口“没有问题,多个子窗口,早先生成的子窗体就关不掉了)
请各位高手不惜赐教,谢谢啦!
Opt('GUIOnEventMode', 1)

$hParentWin = GUICreate('父窗口', 350, 200)
$Button1 = GUICtrlCreateButton('弹出子窗口', 185, 157 - 21, 100, 30)
GUISetOnEvent(-3, 'gui')
GUICtrlSetOnEvent($Button1, 'gui')
GUISetState(@SW_SHOW)
Global $hChildWin

While 1
        Sleep(100)
WEnd

Func gui()
        Switch @GUI_CtrlId
                Case -3
                        Exit
                Case $Button1
                        Child()

        EndSwitch
EndFunc   ;==>gui

Func Child()
        $hChildWin = GUICreate('子窗口', 340, 190, -1, -1, -1, -1, $hParentWin)
        GUISetOnEvent(-3, '_CloseChild')
        GUICtrlCreateButton('关闭本窗口', 230, 140, 80, 30)
        GUICtrlSetOnEvent(-1, '_CloseChild')
        GUISetState(@SW_SHOW)
EndFunc   ;==>Child



Func _CloseChild()
        GUIDelete($hChildWin)
EndFunc   ;==>_CloseChild
发表于 2013-4-16 12:30:34 | 显示全部楼层
Func _CloseChild()
GUIDelete(@GUI_WinHandle)
EndFunc   ;==>_CloseChild
 楼主| 发表于 2013-4-16 12:56:16 | 显示全部楼层

RE: 如何关闭这样的多窗口,有例子。[已解决]

回复 2# user3000

谢谢!原来这么简单,自己想复杂了。
发表于 2013-4-16 21:29:14 | 显示全部楼层
本帖最后由 32714107 于 2013-4-16 21:30 编辑

运行楼主的代码为什么会出现这个错误呢
请高手教我!

>"D:\autoit3\scite\ACNWrapper\ACNWrapper.exe" /run /ErrorStdOut /in "C:\Documents and Settings\Administrator\My Documents\6.au3" /autoit3dir "D:\autoit3" /UserParams   
>系统找不到指定的文件。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2013-4-16 21:55:20 | 显示全部楼层
D:\autoit3\scite\ACNWrapper\ACNWrapper.exe" /run /ErrorStdOut /in "C:\Documents and Settings\Administrator\My Documents\6.au3" /autoit3dir "D:\autoit3" /UserParams   
>系统找不到指定的文件。不是写的很清楚吗
发表于 2013-4-16 23:11:39 | 显示全部楼层
user3000 发表于 2013-4-16 12:30


这样可以~
发表于 2013-4-17 06:32:51 | 显示全部楼层
谢谢zzbtlc ,我明白了,是程序安装错误。安装时最好把杀毒软件全部关闭
发表于 2013-4-17 10:31:56 | 显示全部楼层
尤其是360~~
发表于 2013-4-23 12:16:54 | 显示全部楼层
嗯。的确,必须关闭360呀!
发表于 2014-9-25 15:04:45 | 显示全部楼层
感谢,感谢,学习了,学习了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-22 05:20 , Processed in 0.082045 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表