找回密码
 加入
搜索
查看: 2129|回复: 3

[GUI管理] 是否可以在OnEvent 模式的窗体中设置某个键为消息循环模式?

[复制链接]
发表于 2010-12-10 17:07:35 | 显示全部楼层 |阅读模式
本帖最后由 风林 于 2010-12-10 17:09 编辑

简单地说,就是在一个设置了OnEvent模式的窗体中设置一个复选键为消息循环模式,当该键被选中时弹出另一个窗口,能让用户选择其子选项。大家有什么办法没有?
发表于 2010-12-10 18:02:13 | 显示全部楼层
楼主贴些代码出来才好分析嘛
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Opt("GUIOnEventMode", 1)  ; 切换到 OnEvent 模式 

$Form1 = GUICreate("Form1", 300, 200)
GUISetOnEvent($GUI_EVENT_CLOSE, "GUI")
$Checkbox = GUICtrlCreateCheckbox("点击", 48, 56, 97, 17)
GUICtrlSetOnEvent(-1, "GUI")
$Label1 = GUICtrlCreateLabel("选择的子项目:", 150, 40, 88, 60)

$Form2 = GUICreate("Form1", 208, 203)
GUISetOnEvent($GUI_EVENT_CLOSE, "GUI")
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 32, 40, 97, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 32, 80, 97, 17)
$Checkbox3 = GUICtrlCreateCheckbox("Checkbox3", 32, 120, 97, 17)


Local $t = "选择的子项目:"

GUISetState(@SW_SHOW, $Form1)

While 1

WEnd

Func GUI()
        Switch @GUI_CtrlId
        Case $GUI_EVENT_CLOSE
                If @GUI_WINHANDLE = $Form1 Then
                        Exit
                ElseIf @GUI_WINHANDLE = $Form2 Then
                        If GUICtrlRead($Checkbox1) = 1 Then        $t &= @CRLF & "Checkbox1"
                        If GUICtrlRead($Checkbox2) = 1 Then        $t &= @CRLF & "Checkbox2"
                        If GUICtrlRead($Checkbox3) = 1 Then        $t &= @CRLF & "Checkbox3"
                        GUICtrlSetData($Label1, $t)
                        GUISwitch($Form1)
                        GUISetState(@SW_HIDE, $Form2)
                EndIf
        Case $Checkbox
                If GUICtrlRead($Checkbox) = 1 Then GUISetState(@SW_SHOW, $Form2)
        EndSwitch
EndFunc
 楼主| 发表于 2010-12-14 09:58:19 | 显示全部楼层
你好,你上面的好像是从消息循环模式转换到OnEvent 模式,但我需要的是在OnEvent模式的窗体中单独设置某个键为消息循环模式。
发表于 2010-12-14 14:47:39 | 显示全部楼层
GUIRegisterMsg
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-13 01:51 , Processed in 0.078417 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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