Function Reference


Sets information for a button

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


$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.


$tagTBBUTTONINFO, _GUICtrlToolbar_GetButtonInfo


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

Global $g_idMemo


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")

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

    ; Add buttons
    _GUICtrlToolbar_AddButton($hToolbar, $e_idNew, $STD_FILENEW)
    _GUICtrlToolbar_AddButton($hToolbar, $e_idOpen, $STD_FILEOPEN)
    _GUICtrlToolbar_AddButton($hToolbar, $e_idSave, $STD_FILESAVE)
    _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.
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc   ;==>Example

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