Funktionreferenz


_GUICtrlMenu_TrackPopupMenu

Beschreibung anzeigen in

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]]]]]] )

Parameter

$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

Rückgabewert

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

Bemerkungen

- - - - - - - - Erklärung der Controls - - - - - - - -

Siehe auch

Suche nach TrackPopupMenu in der MSDN Bibliothek.

Beispiel

#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