在主窗口中按按钮新建一个内嵌的子窗口,不可移动。。。可以通过函数对子窗口进行编辑
#include <GUIConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
;#NoTrayIcon ;不要任务栏图标,测试阶段要用,所以注释掉了
Opt("GUIOnEventMode", 1) ;开启oneventmode模式
$testgui=GUICreate("内嵌子窗口示例",450,500,-1,-1,$WS_OVERLAPPEDWINDOW) ;主窗口,无限制
GUISetOnEvent($GUI_EVENT_CLOSE, "guitest") ;注册关闭按钮到guitest函数
GUISetState() ;空...
$bn1=GUICtrlCreateButton("建立子窗口",20,20,80,20) ;"建立子窗口"按钮
GUICtrlSetOnEvent($bn1, "guitest") ;注册按钮响应到guitest函数
While 1
;;窗口停留
WEnd
Func guitest()
Switch @GUI_CtrlId;发送相关指令条件
Case $GUI_EVENT_CLOSE;---------------------------------------退出程序
Switch @GUI_WINHANDLE; |
Case $testgui ; |
$mg=MsgBox(36,"确认","是否退出?") ; |
If $mg=6 Then Exit ; |
Case Else ; |
GUISetState(@SW_HIDE,@GUI_WINHANDLE) ; |
EndSwitch;-----------------------------------------------|
Case $bn1 ;按钮1"建立子窗口"按钮按下
zform() ;执行zform函数
EndSwitch
EndFunc;===>guitest
Func zform()
$form1=GuiCreate("子窗口",400,400,20,60,BitOr($WS_CLIPSIBLINGS,$WS_CHILD),$WS_EX_CLIENTEDGE,$testgui);在父窗口中建立带有凹陷边框的子窗口
GUISetState();使其可见
GUICtrlSetState($bn1,$GUI_DISABLE);禁用"建立子窗口"按钮
$zformbn1=GUICtrlCreateButton("添加",10,10,60,20);在子窗口中添加按钮
$zformbn2=GUICtrlCreateButton("退出窗口",80,10,60,20);同上
GUICtrlSetOnEvent($zformbn1, "message");按钮注册到message函数
GUICtrlSetOnEvent($zformbn2, "Delform");按钮注册到delform函数
Switch @GUI_CtrlId
Case $zformbn2
Delform()
case $zformbn1
message()
EndSwitch
EndFunc;===>zform
Func Delform()
GUIDelete("子窗口") ;删除子窗口
GUICtrlSetState($bn1,$GUI_ENABLE);恢复"建立子窗口"按钮
EndFunc;===>delform
Func message()
MsgBox(49,"确认","你按下了添加按钮") ;按下子窗口中添加按钮时弹出的信息
EndFunc;===>message
另外还有个问题
GUICtrlSetState($bn1,$GUI_DISABLE);禁用"建立子窗口"按钮
如果把这行去掉的话,在主窗口按两次以上"建立子窗口"按钮后,子窗口内的"退出窗口"就无效了...不知道怎么回事.. |