為指定控件的點(diǎn)擊行為定義一個(gè)用戶函數(shù)。
GUISetOnEvent ( 事件ID, "函數(shù)名" [, 窗口句柄] )
參數(shù)
事件ID | 見下面的 狀態(tài)表。 |
函數(shù)名 | 要調(diào)用的用戶函數(shù)。 |
窗口句柄 | [可選參數(shù)] 窗口句柄,可由 GUICreate 的返回值獲得(若缺省則使用上一次用過的句柄)。 |
返回值
成功: | 返回值為1。 |
失�。� | 返回值為0。 |
注意
OnEvent 函數(shù)僅當(dāng)選項(xiàng) GUIOnEventMode 的值為1時(shí)才能被調(diào)用,而在此模式下 GUIGetMsg 將完全無(wú)效。事件 Id | 解釋 |
$GUI_EVENT_CLOSE | 對(duì)話框(窗口)正被關(guān)閉(相關(guān)按鈕被點(diǎn)擊或系統(tǒng)菜單項(xiàng)被選中) |
$GUI_EVENT_MINIMIZE | 對(duì)話框(窗口)被最小化(窗口標(biāo)題欄上的最小化按鈕被點(diǎn)擊) |
$GUI_EVENT_RESTORE | 對(duì)話框(窗口)被還原(任務(wù)欄圖標(biāo)被點(diǎn)擊) |
$GUI_EVENT_MAXIMIZE | 對(duì)話框(窗口)被最大化(窗口標(biāo)題欄上的最大化按鈕被點(diǎn)擊) |
$GUI_EVENT_MOUSEMOVE | 鼠標(biāo)指針移動(dòng) |
$GUI_EVENT_PRIMARYDOWN | 鼠標(biāo)的主要按鈕被按下 |
$GUI_EVENT_PRIMARYUP | 鼠標(biāo)的主要按鈕被松開 |
$GUI_EVENT_SECONDARYDOWN | 鼠標(biāo)的次要按鈕被按下 |
$GUI_EVENT_SECONDARYUP | 鼠標(biāo)的次要按鈕被松開 |
相關(guān)
GUIOnEventMode(選項(xiàng)), GUICtrlSetOnEvent
示例
#include <GUIConstants.au3>
Opt("GUICoordMode",2)
Opt("GUIResizeMode", 1)
Opt("GUIOnEventMode", 1)
$parent1 = GUICreate("Parent1")
GUISetOnEvent($GUI_EVENT_CLOSE, "SpecialEvents")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "SpecialEvents")
GUISetOnEvent($GUI_EVENT_RESTORE, "SpecialEvents")
$ok1 = GUICtrlCreateButton ("OK", 10, 30, 50)
GUICtrlSetOnEvent(-1, "OKPressed")
$cancel1 = GUICtrlCreateButton ( "Cancel", 0, -1)
GUICtrlSetOnEvent(-1, "CancelPressed")
GUISetState(@SW_SHOW)
; 閑置
While 1
Sleep(10)
Wend
; END
Func OKPressed()
MsgBox(0, "OK 按鈕被按下", "ID=" & @GUI_CTRLID & " WinHandle=" & @GUI_WINHANDLE & " CtrlHandle=" & @GUI_CTRLHANDLE)
EndFunc
Func CancelPressed()
MsgBox(0, "Cancel 按鈕被按下", "ID=" & @GUI_CTRLID & " WinHandle=" & @GUI_WINHANDLE & " CtrlHandle=" & @GUI_CTRLHANDLE)
EndFunc
Func SpecialEvents()
Select
Case @GUI_CTRLID = $GUI_EVENT_CLOSE
MsgBox(0, "關(guān)閉按鈕被按下", "ID=" & @GUI_CTRLID & " WinHandle=" & @GUI_WINHANDLE)
Exit
Case @GUI_CTRLID = $GUI_EVENT_MINIMIZE
MsgBox(0, "窗口被最小化", "ID=" & @GUI_CTRLID & " WinHandle=" & @GUI_WINHANDLE)
Case @GUI_CTRLID = $GUI_EVENT_RESTORE
MsgBox(0, "窗口被還原", "ID=" & @GUI_CTRLID & " WinHandle=" & @GUI_WINHANDLE)
EndSelect
EndFunc