# Funktionsreferenz

GUICreate

Erstellt ein GUI-Fenster.

GUICreate ( "title" [, width [, height [, left [, top [, style [, exStyle [, parent]]]]]]] )

Parameter

title | Der Titel der Dialogbox.
width | [optional] Die Breite des Fensters.
height | [optional] Die Höhe des Fensters.
left | [optional] Die linke Seite der Dialogbox. Standardmäßig (Wert -1) wird das Fenster zentriert. Wenn left angegeben wird, muss auch top angegeben werden.
top | [optional] Die Oberkante der Dialogbox. Standardmäßig (Wert -1) wird das Fenster zentriert.
style | [optional] Definiert den Fenster-Stil. Siehe Appendix "GUI Control"-Stile. Verwende -1 für den Standard-Stil, der eine Kombination aus $WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU Stil ist. Einige Stile werden immer mit einbezogen: $WS_CLIPSIBLINGS, und $WS_SYSMENU wenn $WS_MAXIMIZEBOX oder $WS_SIZEBOX verwendet werden.
exStyle | [optional] Definiert den erweiterten Stil des Fensters. Siehe die Tabelle der erweiterten Stile weiter unten. -1 ist der Standardwert.
parent | [optional] Der Handle eines anderen, zuvor erstellten Fensters - dieses neue Fenster wird ein Kind (Child) dieses Eltern-Fensters (Parent).

Bemerkungen

Die Standard-Dialogbox ist nicht in ihrer Größe veränderbar und kann nicht maximiert werden. Deshalb können WS_SIZEBOX oder WS_MAXIMIZEBOX als Stil-Parameter verwendet werden.
Wenn WS_SIZEBOX verwendet wird, wird die erste Dialogbox als minimale Größe verwendet und beim Vergrößern des Fensters werden die Steuerelemente automatisch positioniert.
Wenn man nur einen Stil definiert, wird auch nur dieser eine Stil gesetzt; vergiß also nicht, ihn mit Standard-Stilen zu kombiniern. Zum Beispiel werden beim Verwenden von WS_SIZEBOX nicht automatisch auch WS_MINIMIZEBOX, WS_CAPTION, WS_POPUP und WS_SYSMENU gesetzt. Deshalb ist es für ein größenveränderliches Fenster am besten, WS_OVERLAPPEDWINDOW zu verwenden.
Um weitere Stile zum Standardstil hinzuzufügen schreibe BitOr($GUI_SS_DEFAULT_GUI, newstyle,...).
Tabelle Erweiterte Stile

erweiterter Stil | Resultat
$WS_EX_ACCEPTFILES | Erlaubt es, einen Dateinamen in ein Textfeld (edit oder input Control) per Drag-and-Drop einzufügen. Das Textfeld muss zusätzlich mit GUICtrlSetState auf den Status $GUI_ACCEPTFILES gesetzt werden.
$WS_EX_APPWINDOW | Das Fenster erscheint nur als aktuelles Fenstersymbol (top-level) auf der Taskleiste.
$WS_EX_CLIENTEDGE | Legt fest, dass ein Fenster einen Rahmen mit eingesunkener Kante hat.
$WS_EX_CONTEXTHELP | Bindet ein Fragezeichen in die Titelleiste des Fensters ein. Kann nicht zusammen mit WS_MAXIMIZEBOX oder WS_MINIMIZEBOX verwendet werden.
$WS_EX_DLGMODALFRAME | Erstellt ein Fenster mit doppeltem Rahmen; das Fenster kann optional mit einer Titelleiste erstellt werden, indem der WS_CAPTION Stil als Stilparameter angegeben wird.
$WS_EX_OVERLAPPEDWINDOW | Kombiniert die beiden Stile WS_EX_CLIENTEDGE und WS_EX_WINDOWEDGE.
$WS_EX_STATICEDGE | Erstellt ein Fenster mit einem 3D-Rahmen-Stil, das für Felder gedacht ist, die keine Einträge vom Nutzer akzeptieren.
$WS_EX_TOPMOST | Legt fest, dass ein Fenster mit diesem Stil vor allen anderen Fenstern plaziert wird und auch das vorderste Fenster bleibt, selbst wenn das Fenster deaktiviert wird.
$WS_EX_TRANSPARENT | Das Fenster erscheint transparent, weil die Ausschnitte der darunterliegenden Geschwisterfenster schon angezeigt worden sind.
$WS_EX_TOOLWINDOW | Erstellt eine Werkzeugleiste (tool window); das heißt, ein Fenster, das als schwebende Symbolleiste verwendet werden soll. Eine Werkzeugleiste hat eine Titelleiste die kürzer ist als normale Titelleisten, und der Fenstertitel wird mit einer kleineren Schrift angezeigt. Eine Werkzeugleiste erscheint nicht in der Task-Leiste oder im Dialogfeld, das erscheint wenn der Nutzer die Tastenkombination ALT+TAB drückt. Wenn ein solches Fenster ein System-Menü hat, wird kein Icon dafür auf der Titelleiste angezeigt. Du kannst das System-Menü aber mit ALT+SPACE sichtbar machen.
$WS_EX_WINDOWEDGE | Legt fest, dass ein Fenster einen Rahmen mit erhöhter Kante hat.
$WS_EX_LAYERED | Erstellt ein Fenster mit mehreren Schichten. Beachte, dass dieser Stil nicht für Child-Fenster verwendet werden kann.

Um die obengenannten Werte zu verwenden musst du #include <GUIConstants.au3> in dein Skript einfügen.
Beachte: Der Handle, den diese Funktion zurückgibt ist ein echter Fenster-Handle, was heißt, dass er in der gleichen Art verwendet werden kann wie der Rückgabewert von WinGetHandle.

Siehe auch

GUISet..., GUICtrlCreate..., GUIGetMsg, GUIDelete, WinGetHandle

Beispiel

#include <GUIConstants.au3>
GUICreate("My GUI") ; will create a dialog box that when displayed is centered
GUISetState (@SW_SHOW) ; will display an empty dialog box
; Run the GUI until the dialog is closed
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
Wend