基 礎(chǔ) 函 數(shù) 參 考
GUISetOnEvent
設(shè)置點(diǎn)擊系統(tǒng)按鈕時(shí)調(diào)用的自定義函數(shù).
參 數(shù)
專用ID |
見下面 專用 ID 列表
below. |
函數(shù) |
用戶函數(shù)名稱. |
句柄 |
[可選參數(shù)] 由 GUICreate 函數(shù)返回的窗口句柄 (默認(rèn)為先前使用的窗口). |
返 回 值
備 注
本函數(shù)僅當(dāng)選項(xiàng) GUIOnEventMode 設(shè)置為 1 時(shí)才能調(diào)用 - 而此模式時(shí) GUIGetMsg 將完全無效.
您不能使用參數(shù)調(diào)用一個(gè)函數(shù).
如果選項(xiàng) GUIEventOptions 設(shè)置為 1 時(shí), 最小化,還原和最大化按鈕除了發(fā)送消息外不會(huì)有任何動(dòng)作.
如果"函數(shù)名"為空字符串"", 則上一個(gè)用戶定義函數(shù)將被關(guān)閉.
專用 ID 表
專用 Id
|
注釋
|
$GUI_EVENT_CLOSE |
窗口關(guān)閉, 系統(tǒng)按鈕或菜單項(xiàng)被點(diǎn)擊). |
$GUI_EVENT_MINIMIZE |
窗口最小化, 窗口標(biāo)題欄最小化按鈕被點(diǎn)擊. |
$GUI_EVENT_RESTORE |
窗口還原, 任務(wù)欄圖標(biāo)被點(diǎn)擊. |
$GUI_EVENT_MAXIMIZE |
窗口最大化, 窗口標(biāo)題欄最大化按鈕被點(diǎn)擊. |
$GUI_EVENT_MOUSEMOVE |
鼠標(biāo)光標(biāo)移動(dòng). |
$GUI_EVENT_PRIMARYDOWN |
鼠標(biāo)左鍵按下. |
$GUI_EVENT_PRIMARYUP |
鼠標(biāo)左鍵釋放. |
$GUI_EVENT_SECONDARYDOWN |
鼠標(biāo)右鍵按下. |
$GUI_EVENT_SECONDARYUP |
鼠標(biāo)右鍵釋放. |
$GUI_EVENT_RESIZED |
窗口調(diào)整大小. |
$GUI_EVENT_DROPPED |
結(jié)束 @GUI_DRAGID 拖放操作, @GUI_DRAGFILE 與 @GUI_DROPID 檢索控件 ID
或文件名稱. |
相 關(guān) 函 數(shù)
GUIOnEventMode
(Option), GUIEventOptions (Option),
GUICtrlSetOnEvent
函 數(shù) 示 例
#include <GUIConstantsEx.au3>
Example()
Func Example()
Opt("GUICoordMode", 2)
Opt("GUIResizeMode", 1)
Opt("GUIOnEventMode", 1)
GUICreate("父窗 1")
GUISetOnEvent($GUI_EVENT_CLOSE, "SpecialEvents")
GUISetOnEvent($GUI_EVENT_MINIMIZE,
"SpecialEvents")
GUISetOnEvent($GUI_EVENT_RESTORE,
"SpecialEvents")
GUICtrlCreateButton("確定",
10, 30, 50)
GUICtrlSetOnEvent(-1, "OKPressed")
GUICtrlCreateButton("取消",
0, -1)
GUICtrlSetOnEvent(-1, "CancelPressed")
GUISetState(@SW_SHOW)
;
僅循環(huán)等待狀態(tài)
While
1
Sleep(10)
WEnd
EndFunc ;==>Example
Func OKPressed()
MsgBox(0, "確定點(diǎn)擊", "ID=" & @GUI_CtrlId & " 窗口句柄=" & @GUI_WinHandle &
" 控件句柄=" &
@GUI_CtrlHandle)
EndFunc ;==>OKPressed
Func CancelPressed()
MsgBox(0, "刪除點(diǎn)擊", "ID=" & @GUI_CtrlId & " 窗口句柄=" & @GUI_WinHandle &
" 控件句柄=" &
@GUI_CtrlHandle)
EndFunc ;==>CancelPressed
Func SpecialEvents()
Select
Case @GUI_CtrlId = $GUI_EVENT_CLOSE
MsgBox(0, "關(guān)閉點(diǎn)擊", "ID=" & @GUI_CtrlId & " 窗口句柄=" & @GUI_WinHandle)
Exit
Case @GUI_CtrlId = $GUI_EVENT_MINIMIZE
MsgBox(0, "窗口最小化", "ID=" & @GUI_CtrlId & " 窗口句柄=" & @GUI_WinHandle)
Case @GUI_CtrlId = $GUI_EVENT_RESTORE
MsgBox(0, "窗口還原", "ID=" & @GUI_CtrlId & " 窗口句柄=" & @GUI_WinHandle)
EndSelect
EndFunc ;==>SpecialEvents