Function Reference


_GUICtrlToolbar_SetButtonInfo

Sets information for a button

#include <GuiToolbar.au3>
_GUICtrlToolbar_SetButtonInfo ( $hWnd, $iCommandID [, $iImage = -3 [, $iState = -1 [, $iStyle = -1 [, $iWidth = -1 [, $iParam = -1]]]]] )

Parameters

$hWnd Handle to the control
$iCommandID Button command ID
$iImage [optional] 0-based index of the button image.
Set this parameter to -1 and the control will send the $TBN_GETDISPINFO notification to retrieve the image index when it is needed.
Set this to -2 to indicate that the button does not have an image.
The button layout will only include space for the text.
If the button is a separator, this is the width of the separator, in pixels.
$iState [optional] Button state. Can be a combination of the following:
    $TBSTATE_CHECKED - The button being clicked
    $TBSTATE_PRESSED - The button is being clicked
    $TBSTATE_ENABLED - The button accepts user input
    $TBSTATE_HIDDEN - The button is not visible
    $TBSTATE_INDETERMINATE - The button is grayed
    $TBSTATE_WRAP - The button is followed by a line break
    $TBSTATE_ELLIPSES - The button's text is cut off
    $TBSTATE_MARKED - The button is marked
$iStyle [optional] Button style. Can be a combination of the following:
    $BTNS_AUTOSIZE - The control should not assign the standard width
    $BTNS_BUTTON - Standard button
    $BTNS_CHECK - Toggles between the pressed and nonpressed
    $BTNS_CHECKGROUP - Button that stays pressed until another button is pressed
    $BTNS_DROPDOWN - Creates a drop-down style button that can display a list
    $BTNS_GROUP - Button that stays pressed until another button is pressed
    $BTNS_NOPREFIX - The button text will not have an accelerator prefix
    $BTNS_SEP - Creates a separator
    $BTNS_SHOWTEXT - Specifies that button text should be displayed
    $BTNS_WHOLEDROPDOWN - Specifies that the button will have a drop-down arrow
$iWidth [optional] Button width
$iParam [optional] Application-defined value

Return Value

Success: True.
Failure: False.

Related

$tagTBBUTTONINFO, _GUICtrlToolbar_GetButtonInfo

Example

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

Global $g_idMemo

Example()

Func Example()
        Local $hGUI, $hToolbar, $aButton
        Local Enum $e_idNew = 1000, $e_idOpen, $e_idSave, $idHelp

        ; Create GUI
        $hGUI = GUICreate("Toolbar", 400, 300)
        $hToolbar = _GUICtrlToolbar_Create($hGUI)
        $g_idMemo = GUICtrlCreateEdit("", 2, 36, 396, 262, $WS_VSCROLL)
        GUICtrlSetFont($g_idMemo, 10, 400, 0, "Courier New")
        GUISetState(@SW_SHOW)

        ; 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
        _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)

        ; Set Save button information
        _GUICtrlToolbar_SetButtonInfo($hToolbar, $e_idSave, $STD_PRINT, BitOR($TBSTATE_PRESSED, $TBSTATE_ENABLED), -1, 100, 1234)

        ; Show Save button information
        $aButton = _GUICtrlToolbar_GetButtonInfo($hToolbar, $e_idSave)
        MemoWrite("Image index ....: " & $aButton[0])
        MemoWrite("State flags ....: " & $aButton[1])
        MemoWrite("Style flags ....: " & $aButton[2])
        MemoWrite("Button width ...: " & $aButton[3])
        MemoWrite("Param ..........: " & $aButton[4])

        ; 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