UDF > GUI > GuiStatusBar >


_GUICtrlStatusBar_EmbedControl

Int�gre un contr�le enfant dans un contr�le StatusBar

#include <GuiStatusBar.au3>
_GUICtrlStatusBar_EmbedControl ( $hWnd, $iPart, $hControl [, $iFit = 4] )

Param�tres

$hWnd Handle du contr�le StatusBar
$iPart Index, de base 0, de la partie
$hControl Handle du contr�le � int�grer dans le panneau
$iFit [optionnel] D�termine comment positionner le contr�le. Peut prendre une combinaison des valeurs suivantes:
    1 - Centr� horizontalement
    2 - Centr� verticalement
    4 - Adapt� dans la partie de la barre d'�tat

Valeur de retour

Aucune.

Remarque

Vous pouvez int�grer n'importe quel contr�le dans la barre d'�tat, et pas seulement l'habituelle barre de progression.

Exemple

#include <GUIConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <ProgressConstants.au3>
#include <SendMessage.au3>

Example()

Func Example()
    Local $hGUI, $hProgress, $hInput, $idInput, $idProgress, $hStatus
    Local $aParts[4] = [80, 160, 300, -1]

    ; Cr�e une GUI
    $hGUI = GUICreate("StatusBar Embed Control", 400, 300)

    ;================================================== =============================
    ; Par d�faut: 1 partie, aucun texte
    $hStatus = _GUICtrlStatusBar_Create($hGUI)
    _GUICtrlStatusBar_SetMinHeight($hStatus, 20)

    ;================================================== =============================
    GUISetState(@SW_SHOW)

    ; Initialise les parties
    _GUICtrlStatusBar_SetParts($hStatus, $aParts)
    _GUICtrlStatusBar_SetText($hStatus, "Part 1")
    _GUICtrlStatusBar_SetText($hStatus, "Part 2", 1)

    ; Inclut une barre de progression
    If @OSType = "WIN32_WINDOWS" Then
        $idProgress = GUICtrlCreateProgress(0, 0, -1, -1, $PBS_SMOOTH)
        $hProgress = GUICtrlGetHandle($idProgress)
        _GUICtrlStatusBar_EmbedControl($hStatus, 2, $hProgress)
    Else
        $idProgress = GUICtrlCreateProgress(0, 0, -1, -1, $PBS_MARQUEE) ; fonctionne � partir de Win XP
        $hProgress = GUICtrlGetHandle($idProgress)
        _GUICtrlStatusBar_EmbedControl($hStatus, 2, $hProgress)
        _SendMessage($hProgress, $PBM_SETMARQUEE, True, 200) ; fonctionne � partir de Win XP
    EndIf

    $idInput = GUICtrlCreateInput("This is Embeded", 0, 0)
    $hInput = GUICtrlGetHandle($idInput)
    _GUICtrlStatusBar_EmbedControl($hStatus, 3, $hInput, 3)

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