茫然 发表于 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

user3000 发表于 2013-4-16 12:30:34

Func _CloseChild()
GUIDelete(@GUI_WinHandle)
EndFunc   ;==>_CloseChild

茫然 发表于 2013-4-16 12:56:16

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

回复 2# user3000

谢谢!原来这么简单,自己想复杂了。

32714107 发表于 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   
>系统找不到指定的文件。

zzbtlc 发表于 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   
>系统找不到指定的文件。不是写的很清楚吗

mbdnmt 发表于 2013-4-16 23:11:39


user3000 发表于 2013-4-16 12:30 http://www.autoitx.com/images/common/back.gif

这样可以~

32714107 发表于 2013-4-17 06:32:51

谢谢zzbtlc ,我明白了,是程序安装错误。安装时最好把杀毒软件全部关闭

sniperone 发表于 2013-4-17 10:31:56

尤其是360~~

shoper 发表于 2013-4-23 12:16:54

嗯。的确,必须关闭360呀!

ak47gglllk 发表于 2014-9-25 15:04:45

感谢,感谢,学习了,学习了
页: [1]
查看完整版本: 如何关闭这样的多窗口,有例子。[已解决]