找回密码
 加入
搜索
查看: 4129|回复: 7

[GUI管理] 复选框问题 请教

  [复制链接]
发表于 2011-6-3 10:03:10 | 显示全部楼层 |阅读模式
#include-once
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <SliderConstants.au3>
#include <StaticConstants.au3>
Dim $ary[3]
Opt("GUIOnEventMode", 1)

$GUI = GUICreate("窗口管理器", 300, 150)
GUISetOnEvent($GUI_EVENT_MINIMIZE, "mian")
GUISetOnEvent($GUI_EVENT_RESTORE, "mian")

$checkCN1 = GUICtrlCreateCheckbox ("KCBP窗口", -1, 20, 120, 20)
$checkCN2 = GUICtrlCreateCheckbox ("Tomcat窗口", -1, 40, 120, 20)
$checkCN3 = GUICtrlCreateCheckbox ("Kcxpmanager窗口", -1, 60, 120, 20)
$GUIButton1 = GUICtrlCreateButton ("显示",  -1, 100, 50, 20)
$GUIButton2 = GUICtrlCreateButton ( "隐藏",  100,100,50, 20)
$GUIButton3 = GUICtrlCreateButton ( "退出",  250,130,50, 20)
GUICtrlSetOnEvent($GUIButton1, "Button")
GUICtrlSetOnEvent($GUIButton2, "Button")
GUICtrlSetOnEvent($GUIButton3, "Button")
GUISetState(@SW_SHOW)

While 1
  Sleep(1000)
WEnd

Func mian()


    Select
                Case @GUI_CTRLID = $GUI_EVENT_MINIMIZE

        Case @GUI_CTRLID = $GUI_EVENT_RESTORE

    EndSelect

EndFunc

func Button()
        Switch @GUI_CTRLID
                Case $GUIButton1
                        If  $ary[0] <> 0 Then
                                WinSetState ("交易中间件 - KCBP","",@SW_SHOW)
                        ElseIf $ary[1] <> 0 Then
                                WinSetState ("Tomcat","",@SW_SHOW)
                        ElseIf $ary[2] <> 0 Then
                                WinSetState ("管理器 - [节点名称:Dark] [节点编号:00000001]","",@SW_SHOW)
                        EndIf
                Case $GUIButton2
                        Select
                                Case GUICtrlGetState($checkCN1) = $GUI_CHECKED
                                        WinSetState ("交易中间件 - KCBP","",@SW_HIDE)
                                        MsgBox(0,"","$checkCN1")
                                Case GUICtrlGetState($checkCN2) = $GUI_CHECKED
                                        MsgBox(0,"","$checkCN2")
                                        WinSetState ("交易中间件 - KCBP","",@SW_HIDE)
                                Case GUICtrlGetState($checkCN3) = $GUI_CHECKED
                                        MsgBox(0,"","$checkCN3")
                                        WinSetState ("KCXP管理器 - [节点名称:Dark] [节点编号:00000001]","",@SW_HIDE)
                                Case Else
                                        MsgBox(0,"","都没有选中")
                                ControlDisable ("隐藏","窗口文本",$GUIButton2)
                        EndSelect
                Case $GUIButton3
                        Exit
        EndSwitch
EndFunc

我想实现的效果是:
1.选择其中的1项或3项,单击按钮时,进行隐藏窗口;
2.在没有选择时,置灰按钮;
可现在是,我还没有选择,去单击按钮它会自动选择,复选框。怎么做到我没有选择复选框时,单击按钮时它也不会自动选择复选框。
发表于 2011-6-3 10:21:09 | 显示全部楼层
帮助文件里面有···搜索下·就OK·
发表于 2011-6-3 10:54:42 | 显示全部楼层
本帖最后由 lion.lee 于 2011-6-3 11:05 编辑

1、建议楼主以后发代码用高级模式,别人复制代码方便一点。你说呢?
2、似乎代码不全,没法测试!
3、MsgBox(0, "", "$checkCN1"),只会显示$checkCN1给你,而不是你想要的变量值。显示变量不需要双引号!
 楼主| 发表于 2011-6-3 21:35:04 | 显示全部楼层
回复 3# lion.lee
那只是我测试的时候加上的,不好意思。
 楼主| 发表于 2011-6-3 21:36:37 | 显示全部楼层
第一次发贴,请大家见谅呀。代码错误没有什么关系,关键那种功能。我不知道怎么实现。不懂它们的运行机制
发表于 2011-6-5 13:32:43 | 显示全部楼层
参考这几个函数:
AdlibRegister
guictrlread
guictrlsetstate
 楼主| 发表于 2011-6-7 12:28:29 | 显示全部楼层
谢谢了。大家
发表于 2011-6-9 21:11:37 | 显示全部楼层
回复 3# lion.lee


    不用高级也可以吧,那里也有插入代码的按钮哦,然后将'code'改成'au3'就有色了~~
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-4 06:15 , Processed in 0.077243 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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