Zeigt ein Shortcut Menü an der festgelegten Stelle
#include <GuiMenu.au3>
_GUICtrlMenu_TrackPopupMenu ( $hMenu, $hWnd [, $iX = -1 [, $iY = -1 [, $iAlignX = 1 [, $iAlignY = 1 [, $iNotify = 0 [, $iButtons = 0]]]]]] )
$hMenu | Handle zu dem darzustellenden Shortcut Menü |
$hWnd | Handle zu dem Fenster welches das Shortcut Menü enthält |
$iX | [optional] legt die horizontale Position des Shortcut Menüs in Bildschirmkoordinaten fest. Falls dies -1 ist, wird die aktuelle Mausposition verwendet. |
$iY | [optional] legt die vertikale Position des Shortcut Menüs in Bildschirmkoordinaten fest. Falls dies -1 ist, wird die aktuelle Mausposition verwendet. |
$iAlignX | [optional] legt fest wie das Menü horizontal positioniert werden soll: 0 - zentriert das Menü horizontal relativ zu $iX 1 - positioniert das Menü so, dass es linksbündig mit $iX ist 2 - positioniert das Menü so dass es rechtsbündig mit $iX ist |
$iAlignY | [optional] legt fest wie das Menü vertikal positioniert werden soll: 0 - positioniert das Menü so, dass dessen untere Seite bündig mit $iY ist 1 - positioniert das Menü so, dass dessen obere Seite bündig mit $iY ist 2 - zentriert das Menü vertikal relativ zu $iY |
$iNotify | [optional] verwenden um die Auswahl ohne ein Elternfenster festzulegen: 1 - sendet keine Benachrichtigung 2 - Gibt die Menüitem ID der Auswahl des Benutzers zurück |
$iButtons | [optional] Maustaste um etwas im Shortcut Menü auszuwählen: 0 - der Benutzer kann Items nur mit der linken Maustaste auswählen 1 - der Benutzer kann Items mit der linken und rechten Maustaste auswählen |
Erfolg: | Falls $iNotify auf 2 gesetzt wird, ist der Rückgabewert die Menüitem ID des Items welches der Benutzer ausgewählt hat. Falls der Benutzer das Menü beendet ohne eine Markierung oder falls ein Fehler austritt, dann ist der Rückgabewert 0. Falls $iNotify nicht auf 2 gesetzt wird, ist der Rückgabewert 1. |
Fehler: | 0 |
- - - - - - - - Erklärung der Controls - - - - - - - -
Suche nach TrackPopupMenu in der MSDN Bibliothek.
#include <GUIConstantsEx.au3>
#include <GuiMenu.au3>
#include <WinAPIError.au3>
#include <WindowsConstants.au3>
Global Enum $e_idOpen = 1000, $e_idSave, $e_idInfo
Example()
Func Example()
; Erstellt eine GUI
GUICreate("Menu", 400, 300)
GUISetState(@SW_SHOW)
; Registriert eine benutzerdefinierte Funktion
GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
GUIRegisterMsg($WM_CONTEXTMENU, "WM_CONTEXTMENU")
; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst.
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>Example
; Handle der WM_COMMAND Nachrichten
Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
#forceref $hWnd, $iMsg, $lParam
Switch $wParam
Case $e_idOpen
_WinAPI_ShowMsg("Öffnen")
Case $e_idSave
_WinAPI_ShowMsg("Speichern")
Case $e_idInfo
_WinAPI_ShowMsg("Info")
EndSwitch
EndFunc ;==>WM_COMMAND
; Handle der WM_CONTEXTMENU Nachrichten
Func WM_CONTEXTMENU($hWnd, $iMsg, $wParam, $lParam)
#forceref $hWnd, $iMsg, $lParam
Local $hMenu
$hMenu = _GUICtrlMenu_CreatePopup()
_GUICtrlMenu_InsertMenuItem($hMenu, 0, "Öffnen", $e_idOpen)
_GUICtrlMenu_InsertMenuItem($hMenu, 1, "Speichern", $e_idSave)
_GUICtrlMenu_InsertMenuItem($hMenu, 3, "", 0)
_GUICtrlMenu_InsertMenuItem($hMenu, 3, "Info", $e_idInfo)
_GUICtrlMenu_TrackPopupMenu($hMenu, $wParam)
_GUICtrlMenu_DestroyMenu($hMenu)
Return True
EndFunc ;==>WM_CONTEXTMENU