返回介绍

Function GUISetOnEvent

发布于 2020-03-05 18:21:30 字数 3666 浏览 1130 评论 0 收藏 0

GUISetOnEvent

为指定控件的点击行为定义一个用户函数。

GUISetOnEvent ( 事件ID, "函数名" [, 窗口句柄] )

参数

事件ID 见下面的 状态表
函数名 要调用的用户函数。
窗口句柄 [可选参数] 窗口句柄,可由 GUICreate 的返回值获得(若缺省则使用上一次用过的句柄)。

返回值

成功: 返回值为1。
失败: 返回值为0。

注意

OnEvent 函数仅当选项 GUIOnEventMode 的值为1时才能被调用,而在此模式下 GUIGetMsg 将完全无效

事件 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 鼠标的次要按钮被松开

相关

GUIOnEventMode(选项), 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, "关闭按钮被按下", "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


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文