Funktionsreferenz

GUICtrlCreateMenuitem

Erstellt einen Menüeintrag für die GUI.

GUICtrlCreateMenuitem ( "text", menuID [, menuentry [, menuradioitem]] )

 

Parameter

text Der Text des Eintrags.
menuID Ermöglicht das Erzeugen eines Untermenüs im entsprechenden Menü. Wenn die ID auf -1 gesetzt ist, bezieht es sich auf die oberste Menü-Ebene.
menuentry [optional] Legt die Nummer des zu erzeugenden Eintrages fest. Die Nummerierung der Einträge beginnt bei 0.
menuradioitem [optional] 0 (Standard) = erstellt einen normalen Menüeintrag, 1 = erstellt einen Eintrag in "Radiobutton"-Form

 

Rückgabewert

Erfolg: Gibt die Identifikationsnummer (Control-ID) des neuen Controls zurück.
Fehler: Gibt 0 zurück.

 

Bemerkungen

Um Informationen im Control zu setzen oder zu verändern siehe GUICtrlUpdate....

Ist der Parameter "text" ein Leerstring (""), wird eine Trennlinie erstellt. GUICtrlSetState kann wie bei anderen Controls verwendet werden. Siehe Beispiel.

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

 

Verwandte Funktionen

GUICtrlUpdate..., GUIGetMsg, GUICtrlCreateMenu, GUICtrlCreateContextMenu

 

Beispiel


#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>

Opt('MustDeclareVars', 1)

Example()

Func Example()
    Local $defaultstatus, $status, $filemenu, $fileitem, $helpmenu, $saveitem
    Local $infoitem, $exititem, $recentfilesmenu, $separator1, $viewmenu
    Local $viewstatusitem, $okbutton, $cancelbutton, $statuslabel, $msg, $file
   
    GUICreate("Mein GUI Menü", 300, 200)

    Global $defaultstatus = "Fertig"
    Global $status

    $filemenu = GUICtrlCreateMenu("&Datei")
    $fileitem = GUICtrlCreateMenuItem("Öffnen", $filemenu)
    GUICtrlSetState(-1, $GUI_DEFBUTTON)
    $helpmenu = GUICtrlCreateMenu("?")
    $saveitem = GUICtrlCreateMenuItem("Speichern", $filemenu)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $infoitem = GUICtrlCreateMenuItem("Info", $helpmenu)
    $exititem = GUICtrlCreateMenuItem("Beenden", $filemenu)
    $recentfilesmenu = GUICtrlCreateMenu("Letzte Dateien", $filemenu, 1)

    $separator1 = GUICtrlCreateMenuItem("", $filemenu, 2) ; Erstellt eine leere Zeile

    $viewmenu = GUICtrlCreateMenu("Ansicht", -1, 1) ; Wird vor dem "?" Menü erstellt
    $viewstatusitem = GUICtrlCreateMenuItem("Statuszeile", $viewmenu)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $okbutton = GUICtrlCreateButton("OK", 50, 130, 70, 20)
    GUICtrlSetState(-1, $GUI_FOCUS)
    $cancelbutton = GUICtrlCreateButton("Abbrechen", 180, 130, 70, 20)

    $statuslabel = GUICtrlCreateLabel($defaultstatus, 0, 165, 300, 16, BitOR($SS_SIMPLE, $SS_SUNKEN))

    GUISetState()
    While 1
        $msg = GUIGetMsg()

        If $msg = $fileitem Then
            $file = FileOpenDialog("Wählen Sie eine Datei aus...", @TempDir, "Alle (*.*)")
            If @error <> 1 Then GUICtrlCreateMenuItem($file, $recentfilesmenu)
        EndIf
        If $msg = $viewstatusitem Then
            If BitAND(GUICtrlRead($viewstatusitem), $GUI_CHECKED) = $GUI_CHECKED Then
                GUICtrlSetState($viewstatusitem, $GUI_UNCHECKED)
                GUICtrlSetState($statuslabel, $GUI_HIDE)
            Else
                GUICtrlSetState($viewstatusitem, $GUI_CHECKED)
                GUICtrlSetState($statuslabel, $GUI_SHOW)
            EndIf
        EndIf
        If $msg = $GUI_EVENT_CLOSE Or $msg = $cancelbutton Or $msg = $exititem Then ExitLoop
        If $msg = $infoitem Then MsgBox(0, "Info", "Nur ein Test...")
    WEnd
    GUIDelete()
EndFunc   ;==>Example