[已解决]顶部菜单事件触发问题
本帖最后由 .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") Opt 设置事件模式 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 添加一个子菜单就可以触发事件了,第一个菜单还是没效果
$MenuItem2 = GUICtrlCreateMenu("MenuItem2")
GUICtrlSetOnEvent(-1, "MenuItem2Click")
Local $idFileitem = GUICtrlCreateMenuItem("打开", $MenuItem2)
GUICtrlSetOnEvent(-1, "MenuItem2Click") 你可以理解为:点击菜单控件而非菜单项时,系统默认处理为弹出子菜单,该优先级高于其它事件,自然就不会有其它事件触发了。
如果非要响应该点击,可以试试在 WM_INITMENU 消息中处理。仅提示,不建议。 afan 发表于 2020-5-28 11:05
你可以理解为:点击菜单控件而非菜单项时,系统默认处理为弹出子菜单,该优先级高于其它事件,自然就不会有 ...
好的,那我就不做主菜单点击效果了。
页:
[1]