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