UDF > GUI > GuiStatusBar >


_GUICtrlStatusBar_SetParts

Définit le nombre de parties et les bords des parties

#include <GuiStatusBar.au3>
_GUICtrlStatusBar_SetParts ( $hWnd [, $vPartEdge = -1 [, $vPartWidth = 25]] )

Paramètres

$hWnd Handle du contrôle StatusBar
$vPartEdge [optionnel] Nombre de parties, doit être un tableau d'entiers de base 0 dans le format suivant:
    $vPartEdge[0] - Bord droit de la partie #1
    $vPartEdge[1] - Bord droit de la partie #2
    $vPartEdge[n] - Bord droit de la partie n
$vPartWidth [optionnel] Taille des parties, doit être un tableau d'entiers de base 0, dans le format suivant:
    $aPartWidth[0] - Largeur de la partie #1
    $aPartWidth[1] - Largeur de la partie #2
    $aPartWidth[n] - Largeur de la partie n

Valeur de retour

Succès: Retourne True.
Échec: Retourne False.

Remarque

Si un élément est -1, le bord droit de la partie correspondante s'étend à la bordure de la fenêtre.
$vPartWidth est ignoré si $vPartEdge est un tableau.
$vPartEdge et $vPartWidth tout deux tableau est une erreur.

En relation

_GUICtrlStatusBar_GetParts

Exemple

Exemple 1

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

Global $g_idMemo

Example()

Func Example()
    Local $hGUI, $hStatus
    Local $aParts[3] = [75, 150, -1]

    ; Crée une GUI
    $hGUI = GUICreate("StatusBar Set Parts", 400, 300)
    $hStatus = _GUICtrlStatusBar_Create($hGUI)

    ; Crée un contrôle memo
    $g_idMemo = GUICtrlCreateEdit("", 2, 2, 396, 274, $WS_VSCROLL)
    GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
    GUISetState(@SW_SHOW)

    ; Définit des parties
    _GUICtrlStatusBar_SetParts($hStatus, $aParts)

    ; Définit le texte/ Obtient la largeur
    Local $iParts = _GUICtrlStatusBar_GetCount($hStatus)
    For $iI = 1 To $iParts
        _GUICtrlStatusBar_SetText($hStatus, "Text " & $iI, $iI - 1)
        MemoWrite("Part " & $iI & " width .: " & _GUICtrlStatusBar_GetWidth($hStatus, $iI - 1))
    Next

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

; Ecrit un message dans le contrôle memo
Func MemoWrite($sMessage = "")
    GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite


Exemple 2

;  Avec tableau de largeurs

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

Global $g_idMemo

Example()

Func Example()
    Local $hGUI, $hStatus
    Local $aPartWidth[3] = [75, 75, -1]

    ; Crée une GUI
    $hGUI = GUICreate("StatusBar Set Parts", 400, 300)
    $hStatus = _GUICtrlStatusBar_Create($hGUI)

    ; Crée un contrôle memo
    $g_idMemo = GUICtrlCreateEdit("", 2, 2, 396, 274, $WS_VSCROLL)
    GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
    GUISetState(@SW_SHOW)

    ; Définit des parties
    _GUICtrlStatusBar_SetParts($hStatus, -1, $aPartWidth)

    ;Définit Text/ Obtient Width
    Local $iParts = _GUICtrlStatusBar_GetCount($hStatus)
    For $iI = 1 To $iParts
        _GUICtrlStatusBar_SetText($hStatus, "Text " & $iI, $iI - 1)
        MemoWrite("Part " & $iI & " width .: " & _GUICtrlStatusBar_GetWidth($hStatus, $iI - 1))
    Next

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

; Ecrit un message dans le contrôle memo
Func MemoWrite($sMessage = "")
    GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite

Exemple 3

;  n Parties d'égale taille 

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

Global $g_idMemo

Example()

Func Example()
    Local $hGUI, $hStatus

    ; Crée une GUI
    $hGUI = GUICreate("StatusBar Set Parts", 400, 300)
    $hStatus = _GUICtrlStatusBar_Create($hGUI)

    ; Crée un contrôle memo
    $g_idMemo = GUICtrlCreateEdit("", 2, 2, 396, 274, $WS_VSCROLL)
    GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
    GUISetState(@SW_SHOW)

    ; Définit des parties
    _GUICtrlStatusBar_SetParts($hStatus, 3, 75)

    ; Définit Text/ Obtient Width
    Local $iParts = _GUICtrlStatusBar_GetCount($hStatus)
    For $iI = 1 To $iParts
        _GUICtrlStatusBar_SetText($hStatus, "Text " & $iI, $iI - 1)
        MemoWrite("Part " & $iI & " width .: " & _GUICtrlStatusBar_GetWidth($hStatus, $iI - 1))
    Next

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

; Ecrit dans le contrôle memo
Func MemoWrite($sMessage = "")
    GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite

Exemple 4

; Seulement une partie

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

Global $g_idMemo

Example()

Func Example()
    Local $hGUI, $hStatus

    ; Crée une GUI
    $hGUI = GUICreate("StatusBar Set Parts", 400, 300)
    $hStatus = _GUICtrlStatusBar_Create($hGUI)

    ; Crée un contrôle memo
    $g_idMemo = GUICtrlCreateEdit("", 2, 2, 396, 274, $WS_VSCROLL)
    GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
    GUISetState(@SW_SHOW)

    ; Définit 5 parties
    _GUICtrlStatusBar_SetParts($hStatus, 5)
    ; Reinitialise à une partie unique
    _GUICtrlStatusBar_SetParts($hStatus)

    ; Définit Text/ Obtient Width
    Local $iParts = _GUICtrlStatusBar_GetCount($hStatus)
    For $iI = 1 To $iParts
        _GUICtrlStatusBar_SetText($hStatus, "Text " & $iI, $iI - 1)
        MemoWrite("Part " & $iI & " width .: " & _GUICtrlStatusBar_GetWidth($hStatus, $iI - 1))
    Next

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

; Ecrit un message dans memo
Func MemoWrite($sMessage = "")
    GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite