GUICtrlCreateCheckbox 反回值
本帖最后由 We! 于 2009-10-31 21:15 编辑請教一下, GUICtrlCreateCheckbox 只用有開、關功能上的反回值要怎麼寫?
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 0, 0, 0, 0)
$X1 = GUICtrlCreateInput("X1", 0, 0, 0, 0)
點選複選框後開啟 $X1
GUICtrlSetData($X1, IniRead(Test.ini, "TEST", "KEY", $0))
取消點選後關閉 $X1
GUICtrlSetData($X1, IniRead(Test.ini, "TEST", "KEY", $0))
小弟 查到的都是要在點擊按鍵後再動作,能否就點選時候直接動作,一下開、一下關 這樣呢?
煩請前輩指教一下! 謝謝。 If BitAND(GUICtrlRead($Checkbox1), $GUI_CHECKED) Then
GUICtrlSetState($X1, $gui_enable)
endif 小弟沒把問題說的清楚,小弟的錯! 很抱歉。
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
$Form1 = GUICreate("Form1", 633, 454, 192, 114)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
#Region ### GUI
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 104, 48, 97, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 104, 128, 97, 17)
GUISetState(@SW_SHOW)
#EndRegion # GUI
Func _Exit()
Exit
EndFunc
While 1
Sleep(10000) ;這是一個重複的檢查動作
WEnd
;-------- 在這裡做出一個開、關的功能。
Func 、 If、
;--------
while 1
;是一個被開、關的動作。
wend
;------------- 被關閉
小弟 開始學 Autoit 沒多久而已,問的問題有點無聊,
或是錯誤很多的話,還請前輩們多多見諒...。 本帖最后由 netegg 于 2009-10-30 22:34 编辑
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
$Form1 = GUICreate("Form1", 633, 454, 192, 114)
#Region ### GUI
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 104, 48, 97, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 104, 128, 97, 17)
$X1 = GUICtrlCreateInput("", 300,48, 70, 12)
GUISetState(@SW_SHOW)
while 1
sleep(100)
WEnd
$nMsg = GuiGetMsg()
do
Select
Case $Checkbox1
GUICtrlSetState($Checkbox1, $GUI_CHECKED)
GUICtrlSetState($X1, $GUI_Enable)
GUICtrlSetData($X1, "data")
GUICtrlSetState($Checkbox2, $GUI_UNCHECKED)
check1()
Case $Checkbox2
GUICtrlSetState($Checkbox2, $GUI_CHECKED)
GUICtrlSetData($X1, "")
GUICtrlSetState($X1, $GUI_Disable)
GUICtrlSetState($Checkbox1, $GUI_UNCHECKED)
check2()
EndSelect
until $GUI_EVENT_CLOSE
func check1()
EndFunc
func check2()
EndFunc
大概是这样,我也没试 不知道是不是这意思:#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 633, 454, 192, 114)
#Region ### GUI
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 104, 48, 97, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
;$Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 104, 128, 97, 17)
$X1 = GUICtrlCreateInput("X1", 300,48, 70, 17)
GUISetState(@SW_SHOW)
while 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Checkbox1
If BitAND(GUICtrlRead($Checkbox1), $GUI_UNCHECKED) Then
GUICtrlSetState($X1, $gui_Disable)
Else
GUICtrlSetState($X1, $gui_enable)
endif
EndSwitch
WEnd 本帖最后由 We! 于 2009-10-31 06:42 编辑
嗯嗯! 就是這樣的成效。
但是我只要開啟OnEvent 函數的通知功能。(Opt("GUIOnEventMode", 1))
就會無法作用。
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
#Region # GUI
$Form1 = GUICreate("Form1", 259, 234, 378, 189)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
$X1 = GUICtrlCreateInput("", 16, 16, 121, 21)
$Y1 = GUICtrlCreateInput("", 16, 40, 121, 21)
$X2 = GUICtrlCreateInput("", 16, 64, 121, 21)
$Y1 = GUICtrlCreateInput("", 16, 88, 121, 21)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 16, 200, 97, 17)
GUISetState(@SW_SHOW)
#EndRegion # END GUI
Dim $Click = @DesktopDir & "\AutoIt-測試2.ini"
Dim $interval = 1000
Dim $start = 0, $continue = 1
Dim $xy = MouseGetPos()
Dim $0 = Chr ("42")
Func _Exit()
Exit
EndFunc
While 1
Sleep($interval)
GUICtrlSetData($X1, IniRead($Click, "Mouse1", "X", $0))
GUICtrlSetData($Y1, IniRead($Click, "Mouse1", "Y", $0))
GUICtrlSetData($X2, IniRead($Click, "Mouse2", "X", $0))
WEnd
While $continue ;------------------------------------------------------------------ 複選框 開、關
Sleep($interval)
If $start Then
$xy = MouseGetPos()
ToolTip("X座標[ "& $xy& " ] , &" ]")
Else
ToolTip("按F11開啟、Pause停止。", 0, 0)
EndIf
WEnd ;-------------------------------------------------------------------------------- 複選框
Func Terminate()
$continue = 0
EndFunc
Func StartClick()
$start = 1
EndFunc
Func EndClick()
$start = 0
EndFunc
我還是把我要的動作大約貼上,怕又說的不清楚!
http://www.dreams8.com/thread-3246-1-1.html
( 梦想吧技术论坛 » 『 脚本技术专栏 』 » GUICtrlCreateCheckbox复选框实例几则 )
這裡面有幾個實例,不過我把錯誤的地方寫好後,還是只有開的做用。
還是人家是沒有錯誤的? 只是我看不懂才會認為有錯誤的地方。
新學 Autoit 問題的怪怪的,還請見諒。 那段源码应该没错,不好意思,上次看错了,以为你要建立两个复选框呢 問題解決了,上面那個實例是沒問題的,是我功力太差看不懂而已。
別這麼說! 還是謝謝您的熱心幫忙。
页:
[1]