Funktionsreferenz


GUICtrlSetState

Verändert den Status eines Controls.

GUICtrlSetState ( controlID, state )

Parameter

ControlID Die Identifikationsnummer des Controls (Control-ID), wie von einer GUICtrlCreate... Funktion zurückgegeben. Wird -1 verwendet, so findet der Status Anwendung auf das vorherige Control.
state Siehe Status-Tabelle unten.

Rückgabewert

Erfolg: Gibt 1 zurück.
Fehler: Gibt 0 zurück.

Bemerkungen


    Status-Tabelle
Status Kommentare
No Change 0
$GUI_UNCHECKED Markierung von Radiobutton, Checkbox oder eines ListViewItems wird entfernt
$GUI_CHECKED Radiobutton, Checkbox oder ein ListViewItem wird markiert
$GUI_INDETERMINATE Eine Checkbox mit Dreifach-Status-Attribut wird grau dargestellt
$GUI_AVISTART Avi-Control beginnt mit dem Abspielen des avi-Videos
$GUI_AVISTOP Avi-Control stoppt das avi-Video
$GUI_AVICLOSE Avi-Control stoppt das Abspielen und gibt die Videodatei frei
$GUI_DROPACCEPTED Control wird "Drop"-Aktionen annehmen: von Dateien oder von "Drag"-Aktionen eines anderen Controls. Siehe Bemerkungen
$GUI_NODROPACCEPTED Control wird keine "Drop"-Aktionen annehmen
$GUI_SHOW Das Control wird sichtbar. Auf ein TabItem-Control angewendet, wird der vorderste Tab angezeigt
$GUI_HIDE Das Control wird unsichtbar
$GUI_ENABLE Das Control kann benutzt werden
$GUI_DISABLE Das Control wird grau dargestellt (kann nicht benutzt werden)
$GUI_FOCUS Das Control erhält den Eingabe- bzw. Auswahlfokus
$GUI_NOFOCUS ListView-Controls verlieren den Fokus
$GUI_DEFBUTTON Das Control wird zum vor-ausgewählten Button des Fensters.
$GUI_EXPAND Das TreeViewItem klappt seinen Unterverzeichnisbaum auf.
$GUI_ONTOP Control hat das "immer im Vordergrund" Attribut für das Fenster (zOrdering).

Statuswerte können aufsummiert werden; zum Beispiel wird durch $GUI_DISABLE + $GUI_HIDE das Control deaktiviert und versteckt.

Wenn ein AVI-Control mit $GUI_HIDE versteckt werden soll, sollte es mit $GUI_AVICLOSE geschlossen werden.

Der Status eines Kontextmenüs kann nicht verändert werden.
Der Status von "listviewitem" Controls kann verändert werden, falls das zugehörige "Listview"-Item mit dem erweiterten Stil $LVS_EX_CHECKBOXES erzeugt wurde. $GUI_FOCUS und $GUI_NOFOCUS können auf spezielle ListViewItems angewendet werden, vorausgesetzt, der Stil dieser ListView-Items gestattet auch ein Anzeigen: $LVS_SHOWSELALWAYS.
Der Status eines "Menü-" oder eines "Menüeintrag-" Controls kann nicht versteckt sein.

! Wichtige Information für $GUI_EXPAND: dieser Status kann nur für TreeViewItems verwendet werden. Falls dies verwendet werden soll, dann muss mindestens 1 Sub-TreeViewItem unter diesem Item existieren/erstellt werden !
Falls ein anderer Eintrag im TreeView markiert werden soll, ist $GUI_FOCUS zu verwenden. Das Parent-TreeView erhält den Fensterfokus, und der festgelegte Eintrag wird als ausgewählt markiert.
Falls ein Treeview-Eintrag als Standard deklariert werden soll (d.h. in dicker Schrift darstellen), ist $GUI_DEFBUTTON zu verwenden. Um es wieder abzuschalten, ist statt $GUI_DEFBUTTON ein anderer Wert zu verwenden, z.B. 0. Dieser Status wird nicht durch GUICtrlGetState zurückgegeben.

Falls $GUI_DROPACCEPTED auf ein sichtbares Control angewendet wurde, ist "Drag & Drop" freigeschaltet. Das Änderungs- bzw.- Eingabe-Control erhält den Dateinamen zugewiesen.
Für andere Controls gilt beim Erhalt von $GUI_EVENT_DROPPED: @GUI_DRAGID gibt die Control-ID zurück, wo die "Drag"-Aktion begann (-1 falls ein Dateiname angegeben wurde, @GUI_DRAGFILE enthält den Dateinamen, der "gedroppt" werden soll) und @GUI_DROPID gibt die Control-ID des Controls zurück, auf das "gedroppt" wurde.
Nur das "Ziehen" ("Drag") eines ListviewItems startet den Drag & Drop Prozess. Die @GUI_DRAGID ist dann die ListView Control-ID.

GUICtrlSetState funktioniert nur mit Standard-Controls.
Bei Controls die z. B. durch _GUICtrlComboBoxEx_Create oder _GUICtrlListView_Create erstellt wurden, kann der Status mit _WinAPI_ShowWindow verändert werden.

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

Verwandte Funktionen

GUICtrlCreate..., GUICtrlGetState

Beispiel


#include <GUIConstantsEx.au3>

Example()

Func Example()
    Local $msg

    GUICreate("Mein GUI Status") ; Erstellt ein GUI-Fenster welches mittig ausgerichtet wird

    GUICtrlCreateLabel("Mein deaktiviertes Label", 10, 20)
    GUICtrlSetState(-1, $GUI_DISABLE) ; Das Label ist deaktiviert

    GUICtrlCreateButton("Mein Button", 50, 50)
    GUICtrlSetState(-1, $GUI_FOCUS) ; Der Fokus ist auf diesem Button

    GUISetState()

    ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
    While 1
        $msg = GUIGetMsg()

        If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd
EndFunc   ;==>Example