WM_CONTEXTMENU
Сообщение выполняется при вызове контекстного меню правой кнопкой мыши.
Параметры
Указанные параметры передаются системой.$wParam | Дескриптор окна или элемента, на котором вызвано меню |
$lParam |
Двойное слово содержит: младшее слово = X-координата мыши относительно экрана старшее слово = Y-координата мыши относительно экрана |
Примечания
Смотрите функцию GUIRegisterMsg.См. также
WM_MENUSELECTПример
#include <WindowsConstants.au3>
Global $k = 0
$hGui = GUICreate("Кликни правой кнопкой мыши", 370, 220)
$statist = GUICtrlCreateLabel('Функция WM_CONTEXTMENU выполняется при вызове контекстного меню правой кнопкой мыши.', 5, 5, 360, 68)
GUICtrlSetFont(-1, 12)
$iContextMenu = GUICtrlCreateContextMenu()
$NewSubMenu = GUICtrlCreateMenu("Новое", $iContextMenu)
GUICtrlCreateMenuItem("Текст1", $NewSubMenu)
GUICtrlCreateMenuItem("Текст2", $NewSubMenu)
GUICtrlCreateMenuItem("", $iContextMenu) ; разделитель
GUICtrlCreateMenuItem("Информация", $iContextMenu)
$iButton = GUICtrlCreateButton("OK", 150, 170, 70, 28)
$iButtonContext = GUICtrlCreateContextMenu($iButton)
GUICtrlCreateMenuItem("О кнопке", $iButtonContext)
GUISetState()
GUIRegisterMsg($WM_CONTEXTMENU, "WM_CONTEXTMENU")
Do
Until GUIGetMsg() = -3
Func WM_CONTEXTMENU($hWnd, $Msg, $wParam, $lParam)
Local $x, $y
$x = BitAND($lParam, 0xFFFF) ; _WinAPI_LoWord
$y = BitShift($lParam, 16) ; _WinAPI_HiWord
$k += 1
WinSetTitle($hGui, '', 'Вызов ' & $k)
GUICtrlSetData($statist, 'Дескриптор= ' & $wParam & @LF & 'x=' & $x & @LF & 'y=' & $y)
EndFunc