Funktionreferenz


_GUICtrlMenu_GetSystemMenu

Beschreibung anzeigen in

Erlaubt der Anwendung den Zugriff auf das Fenstermenü, um es zu kopieren und zu verändern

#include <GuiMenu.au3>
_GUICtrlMenu_GetSystemMenu ( $hWnd [, $bRevert = False] )

Parameter

$hWnd Handle zu dem Fenster, welches eine Kopie des Fenstermenüs besitzen soll
$bRevert [optional] Legt die durchzuführende Aktion fest. Falls dieser Parameter False ist, gibt die Funktion ein Handle zu einer Kopie des aktuell verwendeten Fenstermenüs zurück.
Die Kopie ist identisch zu dem Fenstermenü, aber es kann verändert werden.
Falls dieser Parameter True ist, setzt die Funktion das Fenstermenü in den Standardstatus zurück. Das vorherige Fenstermenü wird falls vorhanden zerstört.

Rückgabewert

Falls der $bRevert Parameter False ist, ist der Rückgabewert ein Handle zu einer Kopie des Fenstermenüs.
    Falls der $bRevert Parameter True ist, ist der Rückgabewert 0.

Bemerkungen

Jedes Fenster welches nicht die GetSystemMenu Funktion verwendet, um seine eigene Kopie des Fenstermenüs zu erstellende empfangen das Standard Fenstermenü.
Das Fenstermenü enthält Items mit verschiedenen ID Werten, wie zum Beispiel $SC_CLOSE, $SC_MOVE und $SC_SIZE. Menüitems auf dem Fenstermenü senden $WM_SYSCOMMAND Nachrichten.
Alle vordefinierten Fenstermenüitems haben ID-Nummern größer als 0xF000.
Falls eine Anwendung Befehle dem Fenstermenü hinzufügt, sollte es ID-Nummern kleiner als 0xF000 verwenden.
Das System graut automatisch Items auf dem Standard-Fenstermenü aus, abhängig von der Situation.
Die Anwendung kann ihr eigenes Markieren oder Ausgrauen durchführen, indem sie auf die $WM_INITMENU Nachricht reagiert, die gesendet wird bevor irgendein Menü dargestellt wird.

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

Siehe auch

Suche nach GetSystemMenu in der MSDN Bibliothek.

Beispiel

#include <GuiMenu.au3>

Example()

Func Example()
    Local $hWnd, $hMenu, $iCount, $iI

    ; Startet den Editor
    Run("notepad.exe")
    WinWaitActive("[CLASS:Notepad]")
    $hWnd = WinGetHandle("[CLASS:Notepad]")
    $hMenu = _GUICtrlMenu_GetSystemMenu($hWnd)

    ; Ändert das Systemmenü
    _GUICtrlMenu_InsertMenuItem($hMenu, 5, "&AutoIt")

    ; Zeigt das Systemmenü an
    $iCount = _GUICtrlMenu_GetItemCount($hMenu)
    Writeln("Handle des Systemmenüs: 0x" & Hex($hMenu))
    Writeln("Anzahl Items..........: " & $iCount)
    For $iI = 0 To $iCount - 1
        Writeln("Item " & $iI & " Text ......: " & _GUICtrlMenu_GetItemText($hMenu, $iI))
    Next
EndFunc   ;==>Example

; Schreibt eine Zeile mit Text in den Editor
Func Writeln($sText)
    ControlSend("[CLASS:Notepad]", "", "Edit1", $sText & @CRLF)
EndFunc   ;==>Writeln