Function Reference


_GUICtrlToolbar_GetMetrics

Retrieves the metrics of a toolbar control

#include <GuiToolbar.au3>
_GUICtrlToolbar_GetMetrics ( $hWnd )

Parameters

$hWnd Handle to the control

Return Value

Returns an array with the following format:
    [0] - Width of the padding inside the toolbar buttons
    [1] - Height of the padding inside the toolbar buttons
    [2] - Width of the space between toolbar buttons
    [3] - Height of the space between toolbar buttons

Related

_GUICtrlToolbar_SetMetrics

Example

#include <GUIConstantsEx.au3>
#include <GuiToolbar.au3>
#include <WinAPIConstants.au3>
#include <WindowsConstants.au3>

Global $g_idMemo

Example()

Func Example()
        ; Create GUI
        Local $hGUI = GUICreate("Toolbar Get/Set Metrics (v" & @AutoItVersion & ")", 400, 300)
        Local $hToolbar = _GUICtrlToolbar_Create($hGUI)
        $g_idMemo = GUICtrlCreateEdit("", 2, 36, 396, 262, $WS_VSCROLL)
        GUICtrlSetFont($g_idMemo, 10, 400, 0, "Courier New")
        GUISetState(@SW_SHOW)

        ; Set ANSI format
;~     _GUICtrlToolbar_SetUnicodeFormat($hToolbar, False)

        ; Add standard system bitmaps
        Switch _GUICtrlToolbar_GetBitmapFlags($hToolbar)
                Case 0
                        _GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_SMALL_COLOR)
                Case 2
                        _GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_LARGE_COLOR)
        EndSwitch

        ; Add buttons
        Local Enum $e_idNew = 1000, $e_idOpen, $e_idSave, $idHelp
        _GUICtrlToolbar_AddButton($hToolbar, $e_idNew, $STD_FILENEW)
        _GUICtrlToolbar_AddButton($hToolbar, $e_idOpen, $STD_FILEOPEN)
        _GUICtrlToolbar_AddButton($hToolbar, $e_idSave, $STD_FILESAVE)
        _GUICtrlToolbar_AddButtonSep($hToolbar)
        _GUICtrlToolbar_AddButton($hToolbar, $idHelp, $STD_HELP)

        MemoWrite("Before _GUICtrlToolbar_SetMetrics")

        Sleep(1000)
        GUISetState(@SW_LOCK)
        ; Set control metrics
        MemoWrite("Step 1:")
        MemoWrite("$iXPad = 10")
        _GUICtrlToolbar_SetMetrics($hToolbar, 10, 0, 0, 0)
        GUISetState(@SW_UNLOCK)
        MemoWrite("==> No effect")

        Sleep(2000)
        GUISetState(@SW_LOCK)
        ; Set control metrics
        MemoWrite("Step 2:")
        MemoWrite("$iYPad = 10")
        _GUICtrlToolbar_SetMetrics($hToolbar, 0, 10, 0, 0)
        GUISetState(@SW_UNLOCK)
        MemoWrite("==> No effect")

        Sleep(2000)
        GUISetState(@SW_LOCK)
        ; Set control metrics
        MemoWrite("Step 3:")
        MemoWrite("$iXSpacing = 10")
        _GUICtrlToolbar_SetMetrics($hToolbar, 0, 0, 10, 0)
        GUISetState(@SW_UNLOCK)
        MemoWrite("==> buttons are spaced")

        Sleep(2000)
        GUISetState(@SW_LOCK)
        ; Set control metrics
        MemoWrite("Step 4:")
        MemoWrite("$iYSpacing = 10")
        _GUICtrlToolbar_SetMetrics($hToolbar, 0, 0, 0, 10)
        GUISetState(@SW_UNLOCK)
        MemoWrite("==> No effect has only one line of buttons")

        Sleep(2000)
        GUISetState(@SW_LOCK)
        ; Set control metrics
        MemoWrite("")
        MemoWrite("Step 5:")
        MemoWrite("$iXPad = 10")
        MemoWrite("$iYPad = 10")
        MemoWrite("$iXSpacing = 10")
        MemoWrite("$iYSpacing = 10")
        _GUICtrlToolbar_SetMetrics($hToolbar, 10, 10, 10, 10)
        GUISetState(@SW_UNLOCK)
        MemoWrite("==> Spaced just because $iXpacing is not 0")

        ; Show control metrics
        Local $aMetrics = _GUICtrlToolbar_GetMetrics($hToolbar)
        MemoWrite("")
        MemoWrite("Button padding width ...: " & $aMetrics[0])
        MemoWrite("Button padding height ..: " & $aMetrics[1])
        MemoWrite("Button spacing width ...: " & $aMetrics[2])
        MemoWrite("Button spacing height ..: " & $aMetrics[3])

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

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