Помогите получить соответствующий ID пункта меню в WM_MENUSELECT. Что-то не возьму в толк, вложенные меню определяются с нулевым индексом, не тем, который определён в переменной. Нужно, чтобы $ID совпадал с тем, который ранее определён в переменных пунктов меню.
Код:
#include <WindowsConstants.au3>
#include <MenuConstants.au3>
#include <GUIConstantsEx.au3>
#Include <Array.au3>
#include <GuiMenu.au3>
$Gui = GUICreate("WM_MENUSELECT", 333, 333)
$ContMenu = GUICtrlCreateContextMenu()
$menu1 = GUICtrlCreateMenu('menu1', $ContMenu)
$subm1 = GUICtrlCreateMenu('subm1', $menu1)
$subi1 = GUICtrlCreateMenu('subi1', $menu1)
$menu2 = GUICtrlCreateMenu('menu2', $ContMenu)
$menu3 = GUICtrlCreateMenu('menu3', $ContMenu)
$item1 = GUICtrlCreateMenu('item1', $ContMenu)
$item2 = GUICtrlCreateMenu('item2', $ContMenu)
GUIRegisterMsg($WM_MENUSELECT, "WM_MENUSELECT")
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func WM_MENUSELECT($hWnd, $Msg, $wParam, $lParam)
Local $ID = BitAND($wParam, 0xFFFF)
ConsoleWrite('$menu3=' & $menu3 & ' $ID=' & $ID & @CRLF)
EndFunc