Intègre un contrôle enfant dans un contrôle StatusBar
#include <GuiStatusBar.au3>
_GUICtrlStatusBar_EmbedControl ( $hWnd, $iPart, $hControl [, $iFit = 4] )
$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 |
Vous pouvez intégrer n'importe quel contrôle dans la barre d'état, et pas seulement l'habituelle barre de progression.
#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