谁能帮忙GUI复选框的例子
本帖最后由 tsdeyl 于 2009-8-2 11:43 编辑包括判断是否选中
做一个GUI
上面一个复选框
一个选中按扭 一个取消按扭 一个执行按扭
帮忙给个例子吧
本人新手看别人的例子没有特别针对这个的
希望谁有空帮忙写下
十分感谢了 学会搜索。。。。例子大把 2# sunny617
刚才下了 但是因为是新手
别人没有特别真对这个写的
添加了太多别的功能
而且没有相关的注释
看了一下午也没弄明白 本帖最后由 afan 于 2009-8-2 00:41 编辑
写了个简单的,带判断:
#include <GUIConstantsEx.au3>
GUICreate("复选框测试", 300, 200)
Dim $Checkbox, $cb
$Checkbox = GUICtrlCreateCheckbox("复选框1", 20, 20, 120, 20)
$Checkbox = GUICtrlCreateCheckbox("复选框2", 20, 50, 120, 20)
$Checkbox = GUICtrlCreateCheckbox("复选框3", 20, 80, 120, 20)
$Button = GUICtrlCreateButton('查看复选框', 70, 130, 150, 25)
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button
For $i = 1 To 3
If BitAND(GUICtrlRead($Checkbox[$i]), $GUI_CHECKED) Then
$cb[$i] = '复选框 ' & $i & ' 已选中'
Else
$cb[$i] = '复选框 ' & $i & ' 未选中'
EndIf
Next
MsgBox(0, '状态:', $cb & @CRLF & $cb & @CRLF & $cb)
EndSwitch
WEnd ;~ 一个复选框的简单实例 By 298311657
;~ www.autoitx.com
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
Opt('MustDeclareVars', 1);设定必须先声明所有变量
Local $GUI, $Button_1, $Button_2, $Button_3, $Button_4, $msg, $label, $checked;需要用到的变量先进行定义
Local $check;定义一个长度5的数组,用来储存即将建立的5个复选框控件id
$GUI = GUICreate("复选框参考实例", 235, 180);GUI创建,并返回窗口句柄到$GUI变量中
GUISetBkColor(0xE0FFFF)
$check = GUICtrlCreateCheckbox("CHECKBOX 1", 10, 10, 120, 20);开始控件创建,控件id将返回到前面的变量中
$check = GUICtrlCreateCheckbox("CHECKBOX 2", 10, 40, 120, 20)
$check = GUICtrlCreateCheckbox("CHECKBOX 3", 10, 70, 120, 20)
$check = GUICtrlCreateCheckbox("CHECKBOX 4", 10, 100, 120, 20)
$check = GUICtrlCreateCheckbox("CHECKBOX 5", 10, 130, 120, 20)
$label = GUICtrlCreateLabel("CHECKBOX 5等待选中...", 10, 160, 215, 12, $SS_CENTER);一个文字标签控件,设置文字居中显示
GUICtrlSetColor(-1, 0xff0000);设置lable的文字为红色
$Button_1 = GUICtrlCreateButton("全部选中", 150, 20, 75)
$Button_2 = GUICtrlCreateButton("取消全选", 150, 50, 75)
$Button_3 = GUICtrlCreateButton("确定", 150, 80, 75)
$Button_4 = GUICtrlCreateButton("退出", 150, 110, 75)
GUISetState();显示GUI
While 1;while循环,这里是一个无限循环
$msg = GUIGetMsg();把GUI上的消息返回到$msg变量中
Switch $msg;使用Switch关键字进行有条件的判断
Case $GUI_EVENT_CLOSE, $Button_4;$msg的值等于$GUI_EVENT_CLOSE或$Button_4时退出
Exit
Case $Button_1;$msg的值等于$Button_1时进行全选
For $i = 0 To 4
GUICtrlSetState($check[$i], $GUI_CHECKED);for循环选择所有复选框
Next
Case $Button_2;$msg的值等于$Button_2时取消全选
For $i = 0 To 4
GUICtrlSetState($check[$i], $GUI_UNCHECKED);for循环取消所有复选框
Next
Case $Button_3;$msg的值等于$Button_3时获取当前选中的复选框
$checked = '';先把$checked赋予一次空值,这样做是防止此前判断过的值被再次利用,造成判断错误
;依旧是利用for循环判断选中的复选框,若选中的话则用ControlGetText函数根据复选框控件id获取它的说明文字
For $i = 0 To 4
;GUICtrlRead读取复选框状态
;BitAND进行与运算
;ControlGetText读取复选框说明文字
If BitAND(GUICtrlRead($check[$i]), $GUI_CHECKED) Then $checked &= ControlGetText($GUI, "", $check[$i]) & @LF;$checked变量与自身进行连接
;下面是不使用与运算的判断是否选中的方法
;If GUICtrlRead($check[$i]) = $GUI_CHECKED Then $checked &= ControlGetText($GUI, "", $check[$i]) & @LF
Next
If $checked = '' Then
;$checked为空的时候进行未选中提示
MsgBox(0, '', '当前没有任何复选框被选中!', 5, $GUI)
Else
;$checked不为空的时候进行选中提示
MsgBox(0, '', '被选中的复选框为' & @LF & $checked, 5, $GUI)
EndIf
Case $check;当GUI上的消息是对$check控件操作时,运行以下代码
;判断$check是否选中,并对label进行修改
If BitAND(GUICtrlRead($check), $GUI_CHECKED) Then
GUICtrlSetData($label, "CHECKBOX 5被选中了!")
Else
GUICtrlSetData($label, "CHECKBOX 5等待选中...")
EndIf
EndSwitch
WEnd写了个简单的例子,也许是你想要的~ 写了个简单的,带判断:
#include
GUICreate("复选框测试", 300, 200)
Dim $Checkbox, $cb
$Checkbox = GUICtrlCreateCheckbox("复选框1", 20, 20, 120, 20)
$Checkbox = GUICtrlCreateCheckbox ...
afan 发表于 2009-8-1 23:41 http://www.autoitx.com/images/common/back.gif
我不太清楚这个是什么意思$GUI_CHECKED ;~ 一个复选框的简单实例 By 298311657
;~ www.autoitx.com
#include
#include
Opt('MustDeclareVars', 1);设定必须先声明所有变量
Local $GUI, $Button_1, $Button_2, $Button_3, $Button_4, $msg, $l ...
298311657 发表于 2009-8-2 00:45 http://www.autoitx.com/images/common/back.gif
谢谢啊
写的很详细了
对我这样的新手帮助很大啊
感谢你 本帖最后由 afan 于 2009-8-2 01:43 编辑
我不太清楚这个是什么意思$GUI_CHECKED
tsdeyl 发表于 2009-8-2 00:59 http://www.autoitx.com/images/common/back.gif
晕,白忙。。。特意写简单容易看,结果你还是要字多的
晕,白忙。。。特意写简单容易看,结果你还是要字多的
afan 发表于 2009-8-2 01:41 http://www.autoitx.com/images/common/back.gif
不是啊
我就是要简单的呢
但是人家写了那么长而且都带有注释
对我帮助也很大啊
所以你们两个都要感谢呢 还有啊$GUI_CHECKED这个我在帮助里怎么找不到呢 别的我都看懂了只有这个是常量吧?
干什么用的不太清楚哦
是判断返回值的么 要方便了能加下你QQ么?
我对这个还挺感兴趣的
但只是个人爱好
太业余了
如果不怕麻烦的话教教我吧
不会打扰你很多时间的
我的QQ335449309 11# tsdeyl
$GUI_CHECKED 是控件返回的状态值,代表单选按框钮(Radio)或复选框按钮(Checkbox)被选中
与之相反的是 $GUI_UNCHECKED 未选中 12# tsdeyl
我也是新手,不如你加5#的帅哥详聊吧,呵呵 那人估计不爱熬夜哦
那 $cb1 起什么作用哦
页:
[1]
2