Functions > GUI >


GUICreate

Cr�e une fen�tre graphique (GUI).

GUICreate ( "title" [, width [, height [, left = -1 [, top = -1 [, style = -1 [, exStyle = -1 [, parent = 0]]]]]]] )

Param�tres

title Le titre de la fen�tre.
width [optionnel] La largeur de la fen�tre.
height [optionnel] La hauteur de la fen�tre.
left [optionnel] Coordonn�e X du coin sup�rieur gauche de la fen�tre. Par d�faut (-1), la fen�tre est centr�e. Si d�finie, le param�tre 'top' doit �galement �tre d�finie.
top [optionnel] Coordonn�e Y du coin sup�rieur gauche de la fen�tre. Par d�faut (-1), la fen�tre est centr�e.
style [optionnel] D�finit le style de la fen�tre. Consultez Styles des contr�les GUI.
Utilisez -1 pour le style par d�faut, qui inclut une combinaison des styles $WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP et $WS_SYSMENU.
Certains styles sont toujours inclus: $WS_CLIPSIBLINGS et $WS_SYSMENU si $WS_MAXIMIZEBOX ou $WS_SIZEBOX sont sp�cifi�s.
exStyle [optionnel] D�finit le style �tendu de la fen�tre. Consultez la Table des Styles �tendus ci-dessous.
Utilisez -1 pour valeur par d�faut, ce qui correspond � aucun style �tendu.
Styles forc�s: $WS_EX_WINDOWEDGE
parent [optionnel] Le handle d'une fen�tre pr�c�demment cr�� - La nouvelle fen�tre devient alors un enfant de cette fen�tre.

Valeur de retour

Succ�s: Retourne le handle de la fen�tre.
�chec: Retourne 0 si la fen�tre ne peut pas �tre cr��e et @error = 1.

Remarques

Par d�faut la taille de la bo�te de dialogue ne peut pas �tre modifi�e ni maximis�e. WS_SIZEBOX ou WS_MAXIMIZEBOX peuvent �tre utilis�s dans le param�tre de style.

La d�finition d'un seul style n'applique que le style d�finit, donc n'oubliez pas de le combiner avec les styles par d�faut. Si par exemple vous ne d�finissez que WS_SIZEBOX, alors WS_MINIMIZEBOX, WS_CAPTION, WS_POPUP et WS_SYSMENU ne seront pas utilis�s. Donc, la meilleure m�thode pour d�finir une fen�tre redimensionnable est d'utiliser WS_OVERLAPPEDWINDOW.

Lorsque vous utilisez $WS_EX_MDICHILD, la position est relative � la zone cliente de la fen�tre parente. Avec $WS_EX_LAYERED il est possible d'avoir une image transparente sur une image de fond d�finie dans la fen�tre parente.

L'ajout du style $WS_CLIPCHILDREN peut �viter un certain scintillement lors du redimensionnement d'une GUI avec par exemple un contr�le Edit.
Vous pouvez activer le d�placement d'une fen�tre sans $WS_CAPTION en utilisant $WS_EX_CONTROLPARENT dans les param�tres �tendus (exStyle).

Pour combiner les styles avec les styles par d�faut, utilisez BitOR($GUI_SS_DEFAULT_GUI, newstyle, ...).
La taille sp�cifi�e est la taille de la zone cliente de la fen�tre. La bordure et la barre de titre feront que la fen�tre sera l�g�rement plus grande que la taille sp�cifi�e. L'utilisation de menu de commandes changera aussi la hauteur des fen�tres.
Table des Styles �tendus

Style �tendu R�sultat
$WS_EX_ACCEPTFILES Autorise un contr�le Edit ou un contr�le Input dans la fen�tre GUI cr��e, � recevor des noms de fichiers par glisser-d�poser. Le contr�le doit aussi avoir l'�tat $GUI_DROPACCEPTED attribu� par GUICtrlSetState(). Pour d'autres contr�les, l'info glisser-d�poser peut �tre r�cup�r�e par @GUI_DRAGID, @GUI_DRAGFILE ou @GUIDROPID.
$WS_EX_APPWINDOW Met la fen�tre au premier plan sur la barre des t�ches lorsque la fen�tre est visible.
$WS_EX_CLIENTEDGE Indique que la fen�tre a une bordure avec un bord creux.
$WS_EX_CONTEXTHELP Inclut un point d'interrogation dans la barre de titre de la fen�tre. Ne peut �tre utilis� avec WS_MAXIMIZEBOX ou WS_MINIMIZEBOX.
$WS_EX_DLGMODALFRAME Cr�e une fen�tre qui a une double bordure, la fen�tre peut, �ventuellement, �tre cr��e avec une barre de titre en sp�cifiant le style WS_CAPTION dans le param�tre de style.
$WS_EX_MDICHILD Cr�e une fen�tre enfant incluse dans sa fen�tre parente (simulation, pas r��llement un MDI).
$WS_EX_OVERLAPPEDWINDOW Combine les styles WS_EX_CLIENTEDGE et WS_EX_WINDOWEDGE.
$WS_EX_STATICEDGE Cr�e une fen�tre avec un style de bordure en trois dimensions destin� � �tre utilis� pour des �l�ments qui n'acceptent pas les entr�es utilisateur.
$WS_EX_TOPMOST Indique que la fen�tre cr��e avec ce style doit �tre plac�e par-dessus toutes les fen�tres qui ne sont pas d'avant-plan et devrait rester par-dessus, m�me lorsque la fen�tre est d�sactiv�e.
$WS_EX_TRANSPARENT La fen�tre appara�t transparente car les bits des fen�tres enfant sous-jacentes de m�me parent ont d�j� �t� peints.
$WS_EX_TOOLWINDOW Cr�e une fen�tre outil, qui est une fen�tre destin�e � �tre utilis�e comme une barre d'outils flottante. Une fen�tre outil a une barre de titre qui est plus petite que la barre de titre normale, et dont la police du titre est plus petite. Une fen�tre outil n'appara�t pas dans la barre des t�ches ou dans la bo�te de dialogue qui s'affiche lorsque l'utilisateur appuie sur ALT+TAB. Si une fen�tre outil dispose d'un menu syst�me, son ic�ne n'est pas affich�e dans la barre de titre. Cependant, vous pouvez afficher le menu syst�me en tapant ALT+ESPACE.
$WS_EX_WINDOWEDGE Indique que la fen�tre a une bordure en relief.
$WS_EX_LAYERED Cr�e une fen�tre de superposition (alphablend). Notez que cela ne peut pas �tre utilis� pour les fen�tres enfants.

Pour utiliser les valeurs sp�cifi�es ci-dessus, vous devez ajouter la ligne : #include <WindowsConstants.au3> dans votre script.
Remarque: Le handle retourn� par cette fonction est un v�ritable handle de fen�tre, ce qui signifie qu'il peut �tre utilis� de la m�me mani�re que le r�sultat de WinGetHandle().
WinMove() utilis�e avant GuiSetState() pour changer la taille d'une fen�tre GUI ne changera pas la position/taille des Controles d�finis.

En relation

GUICtrlCreate..., GUICtrlSetDefBkColor, GUICtrlSetDefColor, GUIDelete, GUIGetCursorInfo, GUIGetMsg, GUIGetStyle, GUISetParameters..., GUISetState, GUISwitch, WinGetHandle, WinMove

Exemples

Exemple 1

#include <GUIConstantsEx.au3>

Example()

Func Example()
    ; Cr�e une interface graphique avec un contr�le bouton
    Local $hGUI = GUICreate("Example")
    Local $idOK = GUICtrlCreateButton("OK", 310, 370, 85, 25)

    ; Affiche l'interface graphique.
    GUISetState(@SW_SHOW, $hGUI)

    ; Boucle jusqu'� ce que l'utilisateur quitte.
    Local $idMsg
    Do
        $idMsg = GUIGetMsg()
    Until ($idMsg =  $GUI_EVENT_CLOSE) Or ($idMsg = $idOK)
 
    ; Supprime la GUI pr�c�dente et tous les contr�les.
    GUIDelete($hGUI)
EndFunc   ;==>Example


Exemple 2

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Example()

Func Example()
    Local $sFilePath = "..\GUI\logo4.gif"

    ; Cr�e une GUI avec diff�rents contr�les.
    Local $hGUI = GUICreate("Example", 400, 100)
    GUICtrlCreatePic("..\Images\msoobe.jpg", 0, 0, 400, 100)

    ; Affiche l'interface graphique.
    GUISetState(@SW_SHOW, $hGUI)

    Local $hChild = GUICreate("", 169, 68, 20, 20, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $hGUI)

    ; Cr�e un contr�le Picture avec une image transparente.
    GUICtrlCreatePic($sFilePath, 0, 0, 169, 68)

    ; Affiche l'interface graphique enfant.
    GUISetState(@SW_SHOW)

    ; Boucle jusqu'� ce que l'utilisateur quitte.
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    ; Supprime les GUI pr�c�dentes et tous les contr�les.
    GUIDelete($hGUI)
    GUIDelete($hChild)
EndFunc   ;==>Example