- Сообщения
- 3,556
- Репутация
- 628
Пример
Реализация именно такая в моем коде. При клике правой клавишей мыши на Input появляется меню. Выбираю пункт меню, после этого появляется системное меню(если я правильно это называю). Вот как раз оно не должно появляться. Как это сделать?
Код:
#include <WinAPI.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiMenu.au3>
Global $k
Global Enum $idOpen = 1000
Global $Form1 = GUICreate("Form1", 552, 60, 192, 124)
Global $Input1 = GUICtrlCreateInput("", 40, 16, 473, 21)
GUISetState()
GUIRegisterMsg($WM_SETCURSOR, 'WM_SETCURSOR')
GUIRegisterMsg($WM_COMMAND, 'WM_COMMAND')
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3
Exit
EndSwitch
WEnd
Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
#forceref $hWnd, $iMsg, $ilParam
Switch $iwParam
Case $idOpen
$k += 1
GUICtrlSetData($Input1, 'Вызов - ' & $k)
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_COMMAND
Func WM_SETCURSOR($hWnd, $iMsg, $iwParam, $ilParam)
#forceref $hWnd, $iMsg, $ilParam
Switch _WinAPI_GetDlgCtrlID($iwParam)
Case $Input1
If _WinAPI_HiWord($ilParam) = 517 Then _Menu($hWnd)
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_SETCURSOR
Func _Menu($HW)
Local $hMenu
$hMenu = _GUICtrlMenu_CreatePopup()
_GUICtrlMenu_InsertMenuItem($hMenu, 0, "Выбрать", $idOpen)
_GUICtrlMenu_TrackPopupMenu($hMenu, $HW)
_GUICtrlMenu_DestroyMenu($hMenu)
EndFunc ;==>_Menu
Реализация именно такая в моем коде. При клике правой клавишей мыши на Input появляется меню. Выбираю пункт меню, после этого появляется системное меню(если я правильно это называю). Вот как раз оно не должно появляться. Как это сделать?