找回密码
 加入
搜索
查看: 3537|回复: 6

[系统综合] [已解决]如何确定复选框是选中的哪一个?

  [复制链接]
发表于 2010-11-30 17:19:50 | 显示全部楼层 |阅读模式
本帖最后由 case 于 2010-12-2 23:13 编辑

如图:


不知道怎么才能确定选中的哪一个?要是手动的改变了,又怎么确定选中的哪一个昵?
控件我已 标注

这是一个分区软件,就是DISKGEN里的快速分区工具
说说我想达到的效果吧,程序写不来,只有用 文字 来表达了

运行一个判断循环
  首先判断选中的是几个分区(比如说默认的是5个分区)
       然后就XXXX
  当手动改变了(比如改成4个分区或6个分区......)
        判断出"手动"选中的哪一个选项
       然后就XXX
一直到XX窗口出现的时候就退出这个循环

我刚刚接触AU3.还希望大家来帮帮忙啊!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-11-30 18:38:41 | 显示全部楼层
本帖最后由 KLU3K 于 2010-11-30 18:42 编辑

#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 293, 150, -1, -1)
$Radio1 = GUICtrlCreateRadio("Radio1", 14, 18, 113, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
$Radio2 = GUICtrlCreateRadio("Radio2", 12, 48, 113, 17)
$Radio3 = GUICtrlCreateRadio("Radio3", 172, 20, 113, 17)
$Radio4 = GUICtrlCreateRadio("Radio4", 172, 48, 113, 17)
$Combo1 = GUICtrlCreateCombo("", 176, 88, 65, 25, $CBS_DROPDOWNLIST)
GUICtrlSetData(-1, "1|2|3|4|5", "1")
GUICtrlSetState(-1, $GUI_DISABLE)
$Radio5 = GUICtrlCreateRadio("自定义", 12, 92, 113, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Radio1
                        MsgBox(0, "Debug", "1")
                Case $Radio2
                        MsgBox(0, "Debug", "2")
                Case $Radio3
                        MsgBox(0, "Debug", "3")
                Case $Radio4
                        MsgBox(0, "Debug", "4")
                Case $Radio5
                        GUICtrlSetState($Combo1, $GUI_ENABLE)
                Case $Combo1
                        $val = GUICtrlRead($Combo1)
                        MsgBox(0, "Debug", $val)
        EndSwitch
WEnd


记得给我评分啊!缺钱!嘿嘿

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +10 收起 理由
case + 10 太谢谢了,以后真的要多学习学习了.

查看全部评分

发表于 2010-11-30 19:24:37 | 显示全部楼层
本帖最后由 afan 于 2010-11-30 19:56 编辑
Local $Title1 = '快速分区工具窗口标题', $Title2 = 'XX窗口标题', $iComboBox = 'ComboBox1' ;这里的值都需自行设置
Local $x, $xx
Do
        For $i = 3 To 7
                If ControlCommand($Title1, '分区数目', 'Button' & $i, 'IsChecked', '') Then
                        If $i = 7 Then
                                $x = ControlCommand($Title1, '分区数目', $iComboBox, 'GetCurrentSelection', '')
                        Else
                                $x = $i
                        EndIf
                        ExitLoop
                EndIf
        Next
        If $x <> $xx And Not $xx Then
                MsgBox(0, '初始分区数目:', $x)
                $xx = $x
        ElseIf $xx And $x <> $xx Then
                MsgBox(0, '分区数目已改变:', $x)
                $xx = $x
        EndIf
        Sleep(100)
Until WinExists($Title2, '')
MsgBox(0, $Title2 & ' 出现', '当前分区数目:' & $x)

评分

参与人数 1金钱 +15 收起 理由
case + 15 谢谢afan 关注,以后还要多多向你学习

查看全部评分

发表于 2010-11-30 21:32:40 | 显示全部楼层
A版V5,我也是这么想的,嘿嘿
 楼主| 发表于 2010-11-30 22:01:53 | 显示全部楼层
很谢谢大家的帮助,我得好好理解一下!
发表于 2010-11-30 22:58:02 | 显示全部楼层
他们搞的复杂了
发表于 2010-11-30 23:25:15 | 显示全部楼层
他们搞的复杂了
qq123123 发表于 2010-11-30 22:58



    你有稍微简单一丁点的方法吗?前提是满足LZ的要求~ 请看清LZ的问题后再回帖。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-11 22:38 , Processed in 0.128049 second(s), 31 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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