Retrieves extended information for a button
#include <GuiToolbar.au3>
_GUICtrlToolbar_GetButtonInfoEx ( $hWnd, $iCommandID )
$hWnd | Handle to the control |
$iCommandID | Button command ID |
$tagTBBUTTONINFO, _GUICtrlToolbar_SetButtonInfoEx
#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 Button InfoEx (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)
; Set Save button information
Local $tButton = DllStructCreate($tagTBBUTTONINFO)
DllStructSetData($tButton, "Mask", BitOR($TBIF_IMAGE, $TBIF_STATE, $TBIF_SIZE, $TBIF_LPARAM))
DllStructSetData($tButton, "State", BitOR($TBSTATE_PRESSED, $TBSTATE_ENABLED))
DllStructSetData($tButton, "Image", $STD_PRINT)
DllStructSetData($tButton, "CX", 100)
DllStructSetData($tButton, "Param", 1234)
_GUICtrlToolbar_SetButtonInfoEx($hToolbar, $e_idSave, $tButton)
; Show Save button information
$tButton = _GUICtrlToolbar_GetButtonInfoEx($hToolbar, $e_idSave)
MemoWrite("Image index ....: " & DllStructGetData($tButton, "Image"))
MemoWrite("State flags ....: " & DllStructGetData($tButton, "State"))
MemoWrite("Button width ...: " & DllStructGetData($tButton, "CX"))
MemoWrite("Param ..........: " & DllStructGetData($tButton, "Param"))
; 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