基 础 函 数 参 考
GUISetOnEvent
设置点击系统按钮时调用的自定义函数.
参 数
专用ID |
见下面 专用 ID 列表
below. |
函数 |
用户函数名称. |
句柄 |
[可选参数] 由 GUICreate 函数返回的窗口句柄 (默认为先前使用的窗口). |
返 回 值
备 注
本函数仅当选项 GUIOnEventMode 设置为 1 时才能调用 - 而此模式时 GUIGetMsg 将完全无效.
您不能使用参数调用一个函数.
如果选项 GUIEventOptions 设置为 1 时, 最小化,还原和最大化按钮除了发送消息外不会有任何动作.
如果"函数名"为空字符串"", 则上一个用户定义函数将被关闭.
专用 ID 表
专用 Id
|
注释
|
$GUI_EVENT_CLOSE |
窗口关闭, 系统按钮或菜单项被点击). |
$GUI_EVENT_MINIMIZE |
窗口最小化, 窗口标题栏最小化按钮被点击. |
$GUI_EVENT_RESTORE |
窗口还原, 任务栏图标被点击. |
$GUI_EVENT_MAXIMIZE |
窗口最大化, 窗口标题栏最大化按钮被点击. |
$GUI_EVENT_MOUSEMOVE |
鼠标光标移动. |
$GUI_EVENT_PRIMARYDOWN |
鼠标左键按下. |
$GUI_EVENT_PRIMARYUP |
鼠标左键释放. |
$GUI_EVENT_SECONDARYDOWN |
鼠标右键按下. |
$GUI_EVENT_SECONDARYUP |
鼠标右键释放. |
$GUI_EVENT_RESIZED |
窗口调整大小. |
$GUI_EVENT_DROPPED |
结束 @GUI_DRAGID 拖放操作, @GUI_DRAGFILE 与 @GUI_DROPID 检索控件 ID
或文件名称. |
相 关 函 数
GUIOnEventMode
(Option), GUIEventOptions (Option),
GUICtrlSetOnEvent
函 数 示 例
#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)
;
仅循环等待状态
While
1
Sleep(10)
WEnd
EndFunc ;==>Example
Func OKPressed()
MsgBox(0, "确定点击", "ID=" & @GUI_CtrlId & " 窗口句柄=" & @GUI_WinHandle &
" 控件句柄=" &
@GUI_CtrlHandle)
EndFunc ;==>OKPressed
Func CancelPressed()
MsgBox(0, "删除点击", "ID=" & @GUI_CtrlId & " 窗口句柄=" & @GUI_WinHandle &
" 控件句柄=" &
@GUI_CtrlHandle)
EndFunc ;==>CancelPressed
Func SpecialEvents()
Select
Case @GUI_CtrlId = $GUI_EVENT_CLOSE
MsgBox(0, "关闭点击", "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