Function Reference


_GUICtrlStatusBar_SetParts

Sets the number of parts and the part edges

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

Parameters

$hWnd Handle to the control
$vPartEdge [optional] Number of parts, can be an 0-based array of ints in the following format:
    $vPartEdge[0] - Right edge of part #1
    $vPartEdge[1] - Right edge of part #2
    $vPartEdge[n] - Right edge of part n
$vPartWidth [optional] Size of parts, can be an 0-based array of ints in the following format:
    $vPartWidth[0] - width part #1
    $vPartWidth[1] - width of part #2
    $vPartWidth[n] - width of part n

Return Value

Success: True.
Failure: False.

Remarks

If an element is -1, the right edge of the corresponding part extends to the border of the window.

$vPartWidth is ignored if $vPartEdge is an Array.
$vPartEdge and $vPartWidth being both an Array is an error.

Related

_GUICtrlStatusBar_GetParts

Example

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

Global $g_idMemo

Example()

Func Example()
        ; Create GUI
        Local $hGUI = GUICreate("StatusBar Get/Set Parts (v" & @AutoItVersion & ")", 400, 300)
        Local $hStatus = _GUICtrlStatusBar_Create($hGUI)

        ; Create memo control
        $g_idMemo = GUICtrlCreateEdit("", 2, 2, 396, 274, $WS_VSCROLL)
        GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
        GUISetState(@SW_SHOW)

        ; Set/Get parts
        Local $aParts[3] = [75, 150, -1]
        _GUICtrlStatusBar_SetParts($hStatus, $aParts)

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

        ; Loop until the user exits.
        Do
        Until GUIGetMsg() = $GUI_EVENT_CLOSE
        GUIDelete()
EndFunc   ;==>Example

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