找回密码
 加入
搜索
查看: 1927|回复: 5

[AU3基础] [已解决]顶部菜单事件触发问题

[复制链接]
发表于 2020-5-27 22:43:32 | 显示全部楼层 |阅读模式
本帖最后由 .Simba 于 2020-5-29 10:14 编辑

GUI画出来自己生成的代码点击没有反应,是了循环和其他的也没有反应,请问这里的事件是在哪里设置的?
$Form1 = GUICreate("Form1", 1386, 895, 188, 100)
$MenuItem3 = GUICtrlCreateMenu("&MenuItem3")
GUICtrlSetOnEvent(-1, "MenuItem3Click")
$MenuItem2 = GUICtrlCreateMenu("M&enuItem2")
GUICtrlSetOnEvent(-1, "MenuItem2Click")
$MenuItem1 = GUICtrlCreateMenu("Me&nuItem1")
GUICtrlSetOnEvent(-1, "MenuItem1Click")
发表于 2020-5-27 23:35:21 | 显示全部楼层
Opt 设置事件模式
 楼主| 发表于 2020-5-28 09:21:42 | 显示全部楼层
afan 发表于 2020-5-27 23:35
Opt 设置事件模式

确实有添加Opt事件,没效果,我是WIN10

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)

$Form1 = GUICreate("Form1", 615, 437, 192, 124)
$MenuItem2 = GUICtrlCreateMenu("MenuItem2")
GUICtrlSetOnEvent(-1, "MenuItem2Click")
$MenuItem1 = GUICtrlCreateMenu("MenuItem1")
GUICtrlSetOnEvent(-1, "MenuItem1Click")
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "Form1Minimize")
GUISetOnEvent($GUI_EVENT_MAXIMIZE, "Form1Maximize")
GUISetOnEvent($GUI_EVENT_RESTORE, "Form1Restore")
GUISetState(@SW_SHOW)

While 1
        Sleep(100)
WEnd

Func Form1Close()
        Exit
EndFunc
Func Form1Maximize()

EndFunc
Func Form1Minimize()

EndFunc
Func Form1Restore()

EndFunc
Func MenuItem1Click()
        MsgBox(0, '', 'MenuItem1Click')
EndFunc
Func MenuItem2Click()
        MsgBox(0, '', 'MenuItem2Click')
EndFunc
 楼主| 发表于 2020-5-28 09:24:01 | 显示全部楼层
添加一个子菜单就可以触发事件了,第一个菜单还是没效果
$MenuItem2 = GUICtrlCreateMenu("MenuItem2")
GUICtrlSetOnEvent(-1, "MenuItem2Click")
Local $idFileitem = GUICtrlCreateMenuItem("打开", $MenuItem2)
GUICtrlSetOnEvent(-1, "MenuItem2Click")
发表于 2020-5-28 11:05:33 | 显示全部楼层
你可以理解为:点击菜单控件而非菜单项时,系统默认处理为弹出子菜单,该优先级高于其它事件,自然就不会有其它事件触发了。
如果非要响应该点击,可以试试在 WM_INITMENU 消息中处理。仅提示,不建议。
 楼主| 发表于 2020-5-28 13:53:42 | 显示全部楼层
afan 发表于 2020-5-28 11:05
你可以理解为:点击菜单控件而非菜单项时,系统默认处理为弹出子菜单,该优先级高于其它事件,自然就不会有 ...

好的,那我就不做主菜单点击效果了。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-6-1 22:22 , Processed in 0.074257 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表