如何选中单选框,不是GUICtrlSetState($radio1, $GUI_CHECKED)这么简单【已解决】
本帖最后由 kenan 于 2011-11-28 13:27 编辑#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
$Form1 = GUICreate("Form1", 227, 159, 192, 124)
$Radio1 = GUICtrlCreateRadio("Radio1", 160, 16, 57, 41)
GUICtrlSetOnEvent(-1, "Radio")
$Radio2 = GUICtrlCreateRadio("Radio1", 160, 64, 65, 33)
GUICtrlSetOnEvent(-1, "Radio")
$Radio3 = GUICtrlCreateRadio("Radio1", 160, 112, 65, 33)
GUICtrlSetOnEvent(-1, "Radio")
GUICtrlSetState($radio1, $GUI_CHECKED)
GUISetState(@SW_SHOW)
While 1
Sleep(1000)
WEnd
Func Radio()
Switch @GUI_CTRLID
Case $Radio1
MsgBox(0,0, @GUI_CTRLID)
Case $Radio2
MsgBox(0,0, @GUI_CTRLID)
Case $Radio3
Exit
EndSwitch
EndFunc运行以上代码无法弹出msgbox 是不是应该用
GUICtrlSendMsg ( 控件ID, msg , wParam, lParam )
但是发送什么消息啊 刚开始以为是你没有调用函数而不能执行,后来自己运行了下是OK的啊,可以出来MSGBOX,原来你用了@GUI_CTRLID 回复 3# qqgghh1
我是意思是GUICtrlSetState($radio1, $GUI_CHECKED)之后Radi()函数没有被执行,当然鼠标单击肯定会弹出msgbox的 你这个是中radio后可以弹出,,你判断的不正确。 #include <GUIConstantsEx.au3>
#include <GuiButton.au3>
Opt("GUIOnEventMode", 1)
$Form1 = GUICreate("Form1", 227, 159, 192, 124)
GUISetOnEvent(-3, 'Radio')
$Radio1 = GUICtrlCreateRadio("Radio1", 160, 16, 57, 41)
GUICtrlSetOnEvent(-1, "Radio")
$Radio2 = GUICtrlCreateRadio("Radio1", 160, 64, 65, 33)
GUICtrlSetOnEvent(-1, "Radio")
$Radio3 = GUICtrlCreateRadio("退出", 160, 112, 65, 33)
GUICtrlSetOnEvent(-1, "Radio")
;GUICtrlSetState($radio1, $GUI_CHECKED)
GUISetState(@SW_SHOW)
_GUICtrlButton_Click($Radio1)
While 1
Sleep(1000)
WEnd
Func Radio()
Switch @GUI_CtrlId
Case $Radio1
MsgBox(0, 0, @GUI_CtrlId)
Case $Radio2
MsgBox(0, 0, @GUI_CtrlId)
Case $Radio3, -3
Exit
EndSwitch
EndFunc ;==>Radio 回复 6# afan
谢谢版主!
又发现用ControlClick()也能达到我的要求
页:
[1]