jokkkka 发表于 2010-3-25 14:40:04

[已解决]请问如何实现:选中复选框后,input由灰变成可输入

本帖最后由 jokkkka 于 2010-3-25 15:36 编辑

意思是这样。
    在没有选中复选框时,input框是灰色的
    选中后,input框变成可以输入的状态
请问要怎么实现这个功能?谢谢

landays 发表于 2010-3-25 14:46:47

#NoTrayIcon
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 384, 168, 192, 114)
$Input1 = GUICtrlCreateInput("Input1", 72, 96, 241, 21)
GUICtrlSetState (-1,$GUI_Disable)
$Checkbox1 = GUICtrlCreateCheckbox("测试", 104, 40, 177, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
      Case $Checkbox1
                        IF BitAND (GUICtrlRead ($Checkbox1),$GUI_CHECKED) Then
                                GUICtrlSetState ($Input1,$GUI_Enable)
                        Else
                                GUICtrlSetState ($Input1,$GUI_Disable)
                        EndIf
        EndSwitch
WEnd

水木子 发表于 2010-3-25 14:51:15

本帖最后由 水木子 于 2010-3-25 14:57 编辑

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

GUICreate("Form1", 350, 150)
$Input1 = GUICtrlCreateInput("Input1", 32, 56, 121, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 168, 56, 97, 17)
GUISetState(@SW_SHOW)

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case -3
                        Exit
                Case $Checkbox1
                        If GUICtrlRead($Checkbox1) = 1 Then
                                GUICtrlSetState($Input1, $GUI_ENABLE)
                        Else
                                GUICtrlSetState($Input1, $GUI_DISABLE)
                        EndIf
        EndSwitch
WEnd

水木子 发表于 2010-3-25 14:57:58

呵呵!热心人真多啊!来晚了。

給点阳光 发表于 2013-4-17 18:24:40

3楼4楼的代码好像不行啊

ak47gglllk 发表于 2014-7-30 10:19:15

感谢,学习下,非常感谢
页: [1]
查看完整版本: [已解决]请问如何实现:选中复选框后,input由灰变成可输入