# CToolbar Class

A toolbar is a control that contains one or more buttons. Each button, when clicked by a user, sends a command message to the parent window. Typically, the buttons in a toolbar correspond to items in the application’s menu, providing an additional and more direct way for the user to access an application’s commands.

See: About Toolbar Controls

Include file: CToolbar.inc

Name | Description
--- | ---
AddBitmap | Adds one or more images to the list of button images available for a toolbar.
AddButton | Adds a button to a toolbar.
AddButtons | Adds one or more buttons to a toolbar.
AddSeparator | Adds a separator to a toolbar.
AddString | Adds a new string to the toolbar’s string pool.
AutoSize | Causes a toolbar to be resized.
ButtonCount | Retrieves a count of the buttons currently in the toolbar.
ButtonStructSize | Retrieves a count of the buttons currently in the toolbar.
ChangeBitmap | Retrieves a count of the buttons currently in the toolbar.
CheckButton | Checks a given button in a toolbar.
CommandToIndex | Retrieves the zero-based index for the button associated with the specified command identifier.
Customize | Displays the Customize Toolbar dialog box.
DeleteButton | Deletes a button from the toolbar.
DisableButton | Disables the specified button in a toolbar.
EnableButton | Enables the specified button in a toolbar.
GetAnchorHighlight | Retrieves the anchor highlight setting for a toolbar.
GetBitmap | Retrieves the index of the bitmap associated with a button in a toolbar.
GetBitmapFlags | Retrieves the flags that describe the type of bitmap to be used.
GetButton | Retrieves information about the specified button in a toolbar.
GetButtonHeight | Retrieves the current height of toolbar buttons, in pixels.
GetButtonInfo | Retrieves extended information for a button in a toolbar.
GetButtonSize | Retrieves the current width and height of toolbar buttons, in pixels.
GetButtonText | Retrieves the display text of a button on a toolbar.
GetButtonTextLength | Retrieves the length of the display text of a button on a toolbar.
GetButtonWidth | Retrieves the current width of toolbar buttons, in pixels.
GetColorScheme | Retrieves the color scheme information from the toolbar control.
GetDisabledImageList | Retrieves the image list that a toolbar control uses to display inactive buttons.
GetExtendedStyle | Retrieves the extended styles for a toolbar control.
GetHorizontalPadding | Retrieves the horizontal padding for a toolbar control.
GetHotImageList | Retrieves the image list that a toolbar control uses to display hot buttons.
GetHotItem | Retrieves the index of the hot item in a toolbar.
GetImageList | Retrieves the image list that a toolbar control uses to display buttons in their default state.
GetImageListCount | Returns the number of image lists.
GetInsertMark | Retrieves the current insertion mark for the toolbar.
GetInsertMarkColor | Retrieves the color used to draw the insertion mark for the toolbar.
GetItemRect | Retrieves the bounding rectangle of a button in a toolbar.
GetMaxSize | Retrieves the total size of all of the visible buttons and separators in the toolbar.
GetMetrics | Retrieves the metrics of a toolbar control.
GetObject | Retrieves the IDropTarget for a toolbar control.
GetPadding | Retrieves the padding for a toolbar control.
GetRect | Retrieves the bounding rectangle for a specified toolbar button.
GetRows | Retrieves the number of rows of buttons in a toolbar with the TBSTYLE_WRAPABLE style.
GetState | Retrieves information about the state of the specified button in a toolbar, such as whether it is enabled, pressed, or checked.
GetString | Retrieves a string from a toolbar’s string pool.
GetStyle | Retrieves the styles currently in use for a toolbar control.
GetTextRows | Retrieves the number of rows of buttons in a toolbar with the TBSTYLE_WRAPABLE style.
GetTooltips | Retrieves the handle to the tooltip control, if any, associated with the toolbar.
GetVerticalPadding | Retrieves the vertical padding for a toolbar control.
HideButton | Hides or shows the specified button in a toolbar.
HighlightButton | Sets the highlight state of a given button in a toolbar control.
HitTest | Determines where a point lies in a toolbar control.
Indeterminate | Sets or clears the indeterminate state of the specified button in a toolbar.
InsertButton | Inserts a button in a toolbar.
InsertMarkHitTest | Retrieves the insertion mark information for a point in a toolbar.
InsertSeparator | Inserts a separator in a toolbar.
IsButtonChecked | Determines whether the specified button in a toolbar is checked.
IsButtonEnabled | Determines whether the specified button in a toolbar is enabled.
IsButtonHidden | Determines whether the specified button in a toolbar is hidden.
IsButtonHighlighted | Checks the highlight state of a toolbar button.
IsButtonIndeterminate | Determines whether the specified button in a toolbar is indeterminate.
IsButtonPressed | Determines whether the specified button in a toolbar is pressed.
LoadImages | Loads system-defined button images into a toolbar control’s image list.
MakeOpaque | Makes the toolbar opaque by removing the TBSTYLE_TRANSPARENT style.
MapAccelerator | Determines the ID of the button that corresponds to the specified accelerator character.
MarkButton | Sets the highlight state of a given button in a toolbar control.
MoveButton | Moves a button from one index to another.
PressButton | Presses the specified button in a toolbar.
ReleaseButton | Releases the specified button in a toolbar.
RemoveDarkMode | Removes the toolbar dark mode.
ReplaceBitmap | Replaces an existing bitmap with a new bitmap.
SaveRestore | Send this message to initiate saving or restoring a toolbar state.
SetAnchorHighlight | Sets the anchor highlight setting for a toolbar.
SetBitmapSize | Sets the size of the bitmapped images to be added to a toolbar.
SetButtonInfo | Sets the information for an existing button in a toolbar.
SetButtonSize | Sets the size of buttons on a toolbar.
SetButtonWidth | Sets the minimum and maximum button widths in the toolbar control.
SetCmdId | Sets the command identifier of a toolbar button.
SetColorScheme | Sets the color scheme information for the toolbar control.
SetDarkMode | Sets the toolbar dark mode.
SetDisabledImageList | Sets the image list that the toolbar control will use to display disabled buttons.
SetDrawTextFlags | Sets the text drawing flags for the toolbar.
SetExtendedStyle | Sets the extended styles for a toolbar control.
SetHotImageList | Sets the image list that the toolbar control will use to display hot buttons.
SetHotItem | Sets the hot item in a toolbar.
SetImageList | Sets the image list that the toolbar will use to display buttons that are in their default state.
SetIndent | Sets the indentation for the first button in a toolbar control.
SetInsertMark | Sets the current insertion mark for the toolbar.
SetInsertMarkColor | Sets the color used to draw the insertion mark for the toolbar.
SetListGap | Sets the distance between the toolbar buttons on a specific toolbar.
SetMaxTextRows | Sets the maximum number of text rows displayed on a toolbar button.
SetMetrics | Sets the metrics of a toolbar control.
SetPadding | Sets the padding for a toolbar control.
SetParent | Sets the window to which the toolbar control sends notification messages.
SetPressedImageList | Sets the image list that the toolbar uses to display buttons that are in a pressed state.
SetRows | Sets the number of rows of buttons in a toolbar.
SetState | Sets the state for the specified button in a toolbar.
SetStyle | Sets the style for a toolbar control.
SetToolTips | Associates a tooltip control with a toolbar.
SetWindowTheme | Sets the visual style of a toolbar control.
UncheckButton | Unchecks a given button in a toolbar.
UnhideButton | Unhides the specified button in a toolbar.
UnhighlightButton | Removes the highlight state of a given button in a toolbar control.

### AddBitmap

Adds one or more images to the list of button images available for a toolbar.

    FUNCTION AddBitmap (BYVAL hToolbar AS HWND, BYVAL nButtons AS DWORD, BYVAL ptabm AS TBADDBITMAP PTR) AS LONG
    FUNCTION AddBitmap (BYVAL hToolbar AS HWND, BYVAL nButtons AS DWORD, BYREF tabm AS TBADDBITMAP) AS LONG

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
nButtons | Number of button images in the bitmap. If ptabm specifies a system-defined bitmap, this parameter is ignored.
ptabm | Pointer to a TBADDBITMAP structure that contains the identifier of a bitmap resource and the handle to the module instance with the executable file that contains the bitmap resource.
tabm | A TBADDBITMAP structure that contains the identifier of a bitmap resource and the handle to the module instance with the executable file that contains the bitmap resource.

#### Return value

Returns the index of the first new image if successful, or -1 otherwise.

#### Remarks

If the toolbar was created using the CreateWindowExW function, you must send the TB_BUTTONSTRUCTSIZE message to the toolbar before sending TB_ADDBITMAP.

### AddButton

Adds one button to a toolbar.

    FUNCTION AddButton (BYVAL hToolbar AS HWND, BYVAL idxBitmap AS LONG, BYVAL idCommand AS LONG, _
       BYVAL fsState AS UBYTE = 0, BYVAL fsStyle AS UBYTE = 0, BYVAL dwData AS DWORD_PTR = 0, _
       BYVAL pwszText AS WSTRING PTR = NULL) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
idxBitmap | Zero-based index of the button image.
idCommand | Command identifier associated with the button. This identifier is used in a WM_COMMAND message when the button is chosen.
fsState | Button state flags. This member can be a combination of the values listed in Toolbar Button States.
fsStyle | Button style. This member can be a combination of the button style values listed in Toolbar Control and Button Styles.
dwData | Application-defined value.
pwszText | Pointer to a Unicode string that contains text for the button.

#### Return value

Returns TRUE if successful, or FALSE otherwise.

#### Remarks

If the toolbar was created using the CreateWindowExW function, you must send the TB_BUTTONSTRUCTSIZE message to the toolbar before sending TB_ADDBUTTONSW.

### AddButtons

Adds one or more buttons to a toolbar.

    FUNCTION AddButtons (BYVAL hToolbar AS HWND, BYVAL nButtons AS DWORD, BYVAL lpButtons AS TBBUTTON PTR) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
nButtons | Number of buttons to add.
lpButtons | Pointer to an array of TBBUTTON structures that contain information about the buttons to add. There must be the same number of elements in the array as buttons specified by nButtons.

#### Return value

Returns TRUE if successful, or FALSE otherwise.

#### Remarks

If the toolbar was created using the CreateWindowExW function, you must send the TB_BUTTONSTRUCTSIZE message to the toolbar before sending TB_ADDBUTTONSW.

See TB_SETIMAGELIST for a discussion of how to assign bitmaps to toolbar buttons from one or more image lists.

### AddSeparator

Adds a separator to a toolbar.

    FUNCTION AddSeparator (BYVAL hToolbar AS HWND, BYVAL nWidth AS LONG = 0) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
nWidth | Width of the separator, in pixels

#### Return value

Returns TRUE if successful, or FALSE otherwise.

### AddString

Adds a new string to the toolbar’s string pool.

    FUNCTION AddString (BYVAL hToolbar AS HWND, BYVAL hInst AS HINSTANCE, BYVAL idString AS INT_PTR) AS LONG

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
hInst | Handle to the module instance with an executable file that contains the string resource. If idString instead points to a character array with one or more strings, set this parameter to NULL.
idString | Resource identifier for the string resource, or a pointer to an array of characters. See Remarks.

#### Return value

Returns the index of the first new string if successful, or -1 otherwise.

#### Remarks

If hInst is NULL, idString points to a character array with one or more null-terminated strings. The last string in the array must be terminated with two null characters.

If hInst is the HINSTANCE of the application or of another module containing a string resource, idString is the resource identifier of the string. Each item in the string must begin with an arbitrary separator character, and the string must end with two such characters. For example, the text for three buttons might appear in the string table as “/New/Open/Save//”. The message returns the index of “New” in the toolbar’s string pool, and the other items are in consecutive positions.

### AutoSize

Causes a toolbar to be resized.

    SUB AutoSize (BYVAL hToolbar AS HWND)

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

#### Remarks

An application sends the TB_AUTOSIZE message after causing the size of a toolbar to change either by setting the button or bitmap size or by adding strings for the first time.

### ButtonCount

Retrieves a count of the buttons currently in the toolbar.

    FUNCTION ButtonCount (BYVAL hToolbar AS HWND) AS DWORD

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

#### Return value

Returns the count of the buttons.

### ButtonStructSize

Specifies the size of the TBBUTTON structure.

    SUB ButtonStructSize (BYVAL hToolbar AS HWND, BYVAL cb AS LONG)

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
cb | Size, in bytes, of the TBBUTTON structure.

#### Remarks

The system uses the size to determine which version of the common control dynamic-link library (DLL) is being used.

If an application uses the CreateWindowExW function to create the toolbar, the application must send this message to the toolbar before sending the TB_ADDBITMAP or TB_ADDBUTTONS message.

### ChangeBitmap

Changes the bitmap for a button in a toolbar.

    FUNCTION ChangeBitmap (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG, BYVAL iBitmap AS WORD) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
idButton | Command identifier of the button that is to receive a new bitmap.
iBitmap | Zero-based index of an image in the toolbar’s image list. The system displays the specified image in the button. Set this parameter to I_IMAGECALLBACK, and the toolbar will send the TBN_GETDISPINFO notification to retrieve the image index when it is needed.

#### Return value

Returns TRUE if successful, or FALSE otherwise.

### CheckButton

Checks or unchecks a given button in a toolbar.

    FUNCTION CheckButton (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG, BYVAL fCheck AS SHORT) AS BOOLEAN
    FUNCTION CheckButton (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG) AS BOOLEAN
    FUNCTION UncheckButton (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
idButton | Command identifier of the button to check.
fCheck | If TRUE, the check is added. If FALSE, the check is removed.

#### Return value

Returns TRUE if successful, or FALSE otherwise.

#### Remarks

When a button is checked, it is displayed in the pressed state.

### CommandToIndex

Retrieves the zero-based index for the button associated with the specified command identifier.

    FUNCTION CommandToIndex (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG) AS LONG

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
idButton | Command identifier associated with the button.

#### Return value

Returns the zero-based index for the button or -1 if the specified command identifier is invalid.

### Customize

Displays the Customize Toolbar dialog box.

    SUB Customize (BYVAL hToolbar AS HWND)

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

#### Note

The toolbar must handle the TBN_QUERYINSERT and TBN_QUERYDELETE notifications for the Customize Toolbar dialog box to appear. If the toolbar does not handle those notifications, TB_CUSTOMIZE has no effect.

### DeleteButton

Deletes a button from the toolbar.

    FUNCTION DeleteButton (BYVAL hToolbar AS HWND, BYVAL nButton AS LONG) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
nButton | Zero-based index of the button to delete.

#### Return value

Returns TRUE if successful, or FALSE otherwise.

### DisableButton

Disables the specified button in a toolbar.

    FUNCTION DisableButton (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
idButton | Command identifier of the button to disable.

#### Return value

Returns TRUE if successful, or FALSE otherwise.

### EnableButton

Enables the specified button in a toolbar.

    FUNCTION EnableButton (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
idButton | Command identifier of the button to enable.

#### Return value

Returns TRUE if successful, or FALSE otherwise.

#### Remarks

When a button has been enabled, it can be pressed and checked.

### GetAnchorHighlight

Retrieves the anchor highlight setting for a toolbar.

    FUNCTION GetAnchorHighlight (BYVAL hToolbar AS HWND) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

#### Return value

Returns a Boolean value that indicates if anchor highlighting is set. If this value is nonzero, anchor highlighting is enabled. If this value is zero, it is disabled.

### GetBitmap

Retrieves the index of the bitmap associated with a button in a toolbar.

    FUNCTION GetBitmap (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG) AS LONG

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
idButton | Command identifier of the button whose bitmap index is to be retrieved.

#### Return value

Returns the index of the bitmap if successful, or zero otherwise.

### GetBitmapFlags

Retrieves the flags that describe the type of bitmap to be used.

    FUNCTION GetBitmapFlags (BYVAL hToolbar AS HWND) AS DWORD

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

#### Return value

Returns a DWORD value that describes the type of bitmap that should be used. If this return value has the TBBF_LARGE flag set, applications should use large bitmaps (24 x 24); otherwise, applications should use small bitmaps (16 x 16). All other bits are reserved.

#### Remarks

The value returned by TB_GETBITMAPFLAGS is only advisory. The toolbar control recommends large or small bitmaps based upon whether the user has chosen large or small fonts.

### GetButton

Retrieves information about the specified button in a toolbar.

    FUNCTION GetButton (BYVAL hToolbar AS HWND, BYVAL nButton AS LONG, BYVAL ptbb AS TBBUTTON PTR) AS BOOLEAN
    FUNCTION GetButton (BYVAL hToolbar AS HWND, BYVAL nButton AS LONG, BYREF tbb AS TBBUTTON) AS BOOLEAN
    FUNCTION GetButton (BYVAL hToolbar AS HWND, BYVAL nButton AS LONG) AS TBBUTTON

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
nButton | Zero-based index of the button for which to retrieve information.
ptbb | Pointer to the TBBUTTON structure that receives the button information.
tbb | A TBBUTTON structure that receives the button information.

#### Return value

Returns TRUE if successful, or FALSE otherwise.

### GetButtonHeight

Retrieves the current height of toolbar buttons, in pixels.

    FUNCTION GetButtonHeight (BYVAL hToolbar AS HWND) AS DWORD

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

### GetButtonInfo

Retrieves extended information for a button in a toolbar.

    FUNCTION GetButtonInfo (BYVAL hToolbar AS HWND, BYVAL iID AS LONG, BYVAL ptbbi AS TBBUTTONINFOW PTR) AS LONG
    FUNCTION GetButtonInfo (BYVAL hToolbar AS HWND, BYVAL iID AS LONG, BYREF tbbi AS TBBUTTONINFOW) AS LONG
    FUNCTION GetButtonInfo (BYVAL hToolbar AS HWND, BYVAL iID AS LONG) AS TBBUTTONINFOW

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
iID | Command identifier of the button.
ptbbi | Pointer to a TBBUTTONINFOW structure that receives the button information. The cbSize and dwMask members of this structure must be filled in prior to sending this message.
tbbi | A TBBUTTONINFOW structure that receives the button information. The cbSize and dwMask members of this structure must be filled in prior to sending this message.

#### Return value

Returns the zero-based index of the button, or -1 if an error occurs.

#### Remarks

When you use TB_ADDBUTTONSW or TB_INSERTBUTTONW to place buttons on the toolbar, the button text is commonly specified by its string pool index. TB_GETBUTTONINFOW will not retrieve this string. To use TB_GETBUTTONINFOW to retrieve button text, you must first set the text string with TB_SETBUTTONINFOW. Once you have set the button text with TB_SETBUTTONINFOW, you can no longer use the string pool index.

### GetButtonSize

Retrieves the current width and height of toolbar buttons, in pixels.

    FUNCTION GetButtonSize (BYVAL hToolbar AS HWND) AS DWORD

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

#### Return value

Returns a DWORD value that contains the width and height values in the low word and high word, respectively.

### GetButtonWidth

Retrieves the current width of toolbar buttons, in pixels.

    FUNCTION GetButtonWidth (BYVAL hToolbar AS HWND) AS DWORD

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

### GetButtonText

Retrieves the display text of a button on a toolbar.

    FUNCTION GetButtonText (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG, BYVAL pBuffer AS WSTRING PTR) AS LONG
    FUNCTION GetButtonText (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG) AS DWSTRING

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
idButton | Command identifier of the button whose text is to be retrieved.
pBuffer | Pointer to a buffer that receives the button text.

#### Return value

Returns the length, in characters, of the string pointed to by idButton. The length does not include the terminating null character. If unsuccessful, the return value is -1.

#### Remarks

Security Warning: Using the first overloades function incorrectly might compromise the security of your program. This function does not provide a way for you to know the size of the buffer. If you use this function, first call the function passing NULL in the pBuffer, this returns the number of characters, excluding NULL that are required. Then call the function a second time to retrieve the string.

The returned string corresponds to the text that is currently displayed by the button.

### GetButtonTextLength

Retrieves the length of the display text of a button on a toolbar.

    FUNCTION GetButtonTextLength (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG) AS LONG

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
idButton | Command identifier of the button whose text length is to be retrieved.

### GetColorScheme

Retrieves the color scheme information from the toolbar control.

    FUNCTION GetColorScheme (BYVAL hToolbar AS HWND, BYVAL pcs AS COLORSCHEME PTR) AS BOOLEAN
    FUNCTION GetColorScheme (BYVAL hToolbar AS HWND, BYREF cs AS COLORSCHEME) AS BOOLEAN
    FUNCTION GetColorScheme (BYVAL hToolbar AS HWND) AS COLORSCHEME

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
pcs | Pointer to a COLORSCHEME structure that will receive the color scheme information.
pcs | A COLORSCHEME structure that will receive the color scheme information.

#### Return value

Returns nonzero if successful, or zero otherwise.

### GetDisabledImageList

Retrieves the image list that a toolbar control uses to display inactive buttons.

    FUNCTION GetDisabledImageList (BYVAL hToolbar AS HWND) AS HIMAGELIST

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

#### Return value

Returns the handle to the inactive image list, or NULL if no inactive image list is set.

### GetExtendedStyle

Retrieves the extended styles for a toolbar control.

    FUNCTION GetExtendedStyle (BYVAL hToolbar AS HWND) AS DWORD

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

#### Return value

Returns a DWORD that represents the styles currently in use for the toolbar control. This value can be a combination of extended styles.

### GetPadding

Retrieves the padding for a toolbar control.

    FUNCTION GetPadding (BYVAL hToolbar AS HWND) AS DWORD

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

#### Return value

Returns a DWORD value that contains the horizontal padding in the low word and the vertical padding in the high word, in pixels.

### GetHorizontalPadding

Retrieves the horizontal padding for a toolbar control.

    FUNCTION GetHorizontalPadding (BYVAL hToolbar AS HWND) AS DWORD

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

### GetVerticalPadding

Retrieves the vertical padding for a toolbar control.

    FUNCTION GetVerticalPadding (BYVAL hToolbar AS HWND) AS DWORD

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

### GetHotImageList

Retrieves the image list that a toolbar control uses to display hot buttons.

    FUNCTION GetHotImageList (BYVAL hToolbar AS HWND) AS HIMAGELIST

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

#### Return value

Returns the handle to the image list that the control uses to display hot buttons, or NULL if no hot image list is set.

#### Remarks

A button is hot when the cursor is over it. Toolbar controls must have the TBSTYLE_FLAT or TBSTYLE_LIST style to have hot items.

### GetHotItem

Retrieves the index of the hot item in a toolbar.

    FUNCTION GetHotItem (BYVAL hToolbar AS HWND) AS DWORD

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

#### Return value

Returns the index of the hot item, or -1 if no hot item is set. Toolbar controls that do not have the TBSTYLE_FLAT style do not have hot items.

### GetImageList

Retrieves the image list that a toolbar control uses to display buttons in their default state. A toolbar control uses this image list to display buttons when they are not hot or disabled.

    FUNCTION GetImageList (BYVAL hToolbar AS HWND) AS HIMAGELIST

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

#### Return value

Returns the handle to the image list, or NULL if no image list is set.

### GetImageListCount

Gets the number of image lists associated with the toolbar.

    FUNCTION GetImageListCount (BYVAL hToolbar AS HWND) AS LONG

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

#### Return value

Returns the number of image lists.

### GetInsertMark

Retrieves the current insertion mark for the toolbar.

    FUNCTION GetInsertMark (BYVAL hToolbar AS HWND) AS TBINSERTMARK

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

#### Return value

Returns a TBINSERTMARK structure that receives the insertion mark.

### GetInsertMarkColor

Retrieves the current insertion mark for the toolbar.

    FUNCTION GetInsertMarkColor (BYVAL hToolbar AS HWND) AS COLORREF

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

#### Return value

Returns a COLORREF value that contains the current insertion mark color.

### GetItemRect

Retrieves the bounding rectangle of a button in a toolbar.

    FUNCTION GetItemRect (BYVAL hToolbar AS HWND, BYVAL nButton AS LONG, BYVAL prc AS RECT PTR) AS BOOLEAN
    FUNCTION GetItemRect (BYVAL hToolbar AS HWND, BYVAL nButton AS LONG, BYREF rc AS RECT) AS BOOLEAN
    FUNCTION GetItemRect (BYVAL hToolbar AS HWND, BYVAL nButton AS LONG) AS RECT

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
nButton | Zero-based index of the button for which to retrieve information.
prc | Pointer to a RECT structure that receives the client coordinates of the bounding rectangle.
rc | A RECT structure that receives the client coordinates of the bounding rectangle.

#### Return value

Returns TRUE if successful, or FALSE otherwise.

#### Remarks

This message does not retrieve the bounding rectangle for buttons whose state is set to the TBSTATE_HIDDEN value.

### GetMaxSize

Retrieves the total size of all of the visible buttons and separators in the toolbar.

    FUNCTION GetMaxSize (BYVAL hToolbar AS HWND, BYVAL psize AS SIZE PTR) AS BOOLEAN
    FUNCTION GetMaxSize (BYVAL hToolbar AS HWND, BYREF sz AS SIZE) AS BOOLEAN
    FUNCTION GetMaxSize (BYVAL hToolbar AS HWND) AS SIZE

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
psize | Pointer to a SIZE structure that receives the size of the items.
sz | A SIZE structure that receives the size of the items.

#### Return value

Returns nonzero if successful, or zero otherwise.

### GetMetrics

Retrieves the metrics of a toolbar control.

    SUB GetMetrics (BYVAL hToolbar AS HWND, BYVAL ptbMetrics AS TBMETRICS PTR)
    SUB GetMetrics (BYVAL hToolbar AS HWND, BYREF tbMet AS TBMETRICS)
    FUNCTION GetMetrics (BYVAL hToolbar AS HWND) AS TBMETRICS

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
ptbMetrics | Pointer to a TBMETRICS structure that receives the toolbar metrics.
tbMetrics | A TBMETRICS structure that receives the toolbar metrics.

#### Note

To use this message, you must provide a manifest specifying Comclt32.dll version 6.0.

### GetObject

Retrieves a pointer to the IDropTarget interface for a toolbar control.

    FUNCTION GetObject (BYVAL hToolbar AS HWND) AS IDropTarget PTR

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

#### Remarks

The toolbar’s IDropTarget is used by the toolbar when objects are dragged over or dropped onto it.

### GetRect

Retrieves the bounding rectangle for a specified toolbar button.

    FUNCTION GetRect (BYVAL hToolbar AS HWND, BYVAL iID AS LONG, BYVAL prc AS RECT PTR) AS BOOLEAN
    FUNCTION GetRect (BYVAL hToolbar AS HWND, BYVAL iID AS LONG, BYREF rc AS RECT) AS BOOLEAN
    FUNCTION GetRect (BYVAL hToolbar AS HWND, BYVAL iID AS LONG) AS RECT

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
iID | Command identifier of the button.
prc | Pointer to a RECT structure that will receive the bounding rectangle information.
rc | A RECT structure that will receive the bounding rectangle information.

#### Remarks

Returns nonzero if successful, or zero otherwise.

#### Remarks

This message does not retrieve the bounding rectangle for buttons whose state is set to the TBSTATE_HIDDEN value.

### GetRows

Retrieves the number of rows of buttons in a toolbar with the TBSTYLE_WRAPABLE style.

    FUNCTION GetRows (BYVAL hToolbar AS HWND) AS DWORD

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

#### Remarks

Returns the number of rows.

### GetState

Retrieves information about the state of the specified button in a toolbar, such as whether it is enabled, pressed, or checked.

    FUNCTION GetState (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG) AS DWORD

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
idButton | Command identifier of the button for which to retrieve information.

#### Remarks

Returns the button state information if successful, or -1 otherwise. The button state information can be a combination of the values listed in Toolbar Button States.

### GetString

Retrieves a string from a toolbar’s string pool.

    FUNCTION GetString (BYVAL hToolbar AS HWND, BYVAL iString AS SHORT, _
       BYVAL pBuffer AS WSTRING PTR, BYVAL cchMax AS SHORT) AS LONG

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
iString | The index of the string.
pBuffer | Pointer to a buffer used to return the string.
cchMax | The he length of the lParam buffer.

#### Return value

Returns the string length if successful, or -1 otherwise.

#### Remarks

This message returns the specified string from the toolbar’s string pool. It does not necessarily correspond to the text string currently being displayed by a button. To retrieve a button’s current text string, call the GetButtonText method.

### GetStyle

Retrieves the styles currently in use for a toolbar control.

    FUNCTION GetStyle (BYVAL hToolbar AS HWND) AS DWORD

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

#### Remarks

Returns a DWORD value that is a combination of toolbar control styles.

### GetTextRows

Retrieves the maximum number of text rows that can be displayed on a toolbar button.

    FUNCTION GetTextRows (BYVAL hToolbar AS HWND) AS DWORD

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

#### Remarks

Returns an INT value representing the maximum number of text rows that the control will display for a button.

### GetTooltips

Retrieves the handle to the tooltip control, if any, associated with the toolbar.

    FUNCTION GetTooltips (BYVAL hToolbar AS HWND) AS HWND

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

#### Return value

Returns the handle to the tooltip control, or NULL if the toolbar has no associated tooltip.

### HideButton

Hides or shows the specified button in a toolbar.

    FUNCTION HideButton (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG, BYVAL fShow AS SHORT) AS BOOLEAN
    FUNCTION HideButton (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG) AS BOOLEAN
    FUNCTION UnhideButton (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
idButton | Command identifier of the button to hide or show.
fShow | TRUE to hidden the button or FALSE to show it.

#### Return value

Returns TRUE if successful, or FALSE otherwise.

### HighlightButton

Sets the highlight state of a given button in a toolbar control.

    FUNCTION HighlightButton (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG) AS BOOLEAN
    FUNCTION UnhighlightButton (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
idButton | Command identifier for a toolbar button.

#### Return value

Returns TRUE if successful, or FALSE otherwise.

### HitTest

Determines where a point lies in a toolbar control.

    FUNCTION HitTest (BYVAL hToolbar AS HWND, BYVAL pptHitTest AS POINT PTR) AS LONG
    FUNCTION HitTest (BYVAL hToolbar AS HWND, BYREF ptHitTest AS POINT) AS LONG
    FUNCTION HitTest (BYVAL hToolbar AS HWND) AS POINT

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
pptHitTest | Pointer to a POINT structure that contains the x-coordinate of the hit test in the x member and the y-coordinate of the hit test in the y member. The coordinates are relative to the toolbar’s client area.
ptHitTest | A POINT structure that contains the x-coordinate of the hit test in the x member and the y-coordinate of the hit test in the y member. The coordinates are relative to the toolbar’s client area.

#### Return value

Returns an integer value. If the return value is zero or a positive value, it is the zero-based index of the nonseparator item in which the point lies. If the return value is negative, the point does not lie within a button. The absolute value of the return value is the index of a separator item or the nearest nonseparator item.

### Indeterminate

Sets or clears the indeterminate state of the specified button in a toolbar.

    FUNCTION Indeterminate (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG, BYVAL fIndeterminate AS SHORT) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
idButton | Command identifier of the button whose indeterminate state is to be set or cleared.
fIndeterminate | TRUE to set the indeterminate state or FALSE to clear it.

#### Return value

Returns TRUE if successful, or FALSE otherwise.

### InsertButton

Inserts a button in a toolbar.

    FUNCTION InsertButton (BYVAL hToolbar AS HWND, BYVAL idxButton AS LONG, BYVAL pButton AS TBBUTTON PTR) AS BOOLEAN
    FUNCTION InsertButton (BYVAL hToolbar AS HWND, BYVAL idxButton AS LONG, BYREF Button AS TBBUTTON) AS BOOLEAN
    FUNCTION InsertButton (BYVAL hToolbar AS HWND, BYVAL idxButton AS LONG, BYVAL idxBitmap AS LONG, _
       BYVAL idCommand AS LONG, BYVAL fsState AS UBYTE = 0, BYVAL fsStyle AS UBYTE = 0, BYVAL dwData AS DWORD_PTR = 0, _
       BYVAL pwszText AS WSTRING PTR = NULL) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
idxButton | Zero-based index of a button. The message inserts the new button to the left of this button.
pButton | Pointer to a TBBUTTON structure containing information about the button to insert.
Button | A TBBUTTON structure containing information about the button to insert.
idxBitmap | Zero-based index of the button image. Set this member to I_IMAGECALLBACK, and the toolbar will send the TBN_GETDISPINFO notification code to retrieve the image index when it is needed.
idCommand | Command identifier associated with the button. This identifier is used in a WM_COMMAND message when the button is chosen.
fsState | Button state flags. This member can be a combination of the values listed in Toolbar Button States.
fsStyle | Button style. This member can be a combination of the button style values listed in Toolbar Control and Button Styles.
dwData | Application-defined value.
pwszText | Pointer to a string buffer that contains text for the button.

### InsertMarkHitTest

Retrieves the insertion mark information for a point in a toolbar.

    FUNCTION InsertMarkHitTest (BYVAL hToolbar AS HWND, BYVAL ppt AS POINT PTR, BYVAL ptbim AS TBINSERTMARK PTR) AS BOOLEAN
    FUNCTION InsertMarkHitTest (BYVAL hToolbar AS HWND, BYREF pt AS POINT, BYVAL tbim AS TBINSERTMARK) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
ppt | Pointer to a POINT structure that contains the hit test coordinates, relative to the client area of the toolbar.
pt | A POINT structure that contains the hit test coordinates, relative to the client area of the toolbar.
ptbim | Pointer to a TBINSERTMARK structure that receives the insertion mark information.
tbim | A TBINSERTMARK structure that receives the insertion mark information.

#### Return value

Returns nonzero if the point is an insertion mark, or zero otherwise.

### InsertSeparator

Inserts a separator in a toolbar.

    FUNCTION InsertSeparator (BYVAL hToolbar AS HWND, BYVAL idxButton AS LONG, BYVAL nWidth AS LONG = 0) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
idxButton | Zero-based index of a button. The message inserts the new separator to the left of this button.
nWidth | Width of the separator, in pixels

#### Return value

Returns TRUE if successful, or FALSE otherwise.

### IsButtonChecked

Determines whether the specified button in a toolbar is checked.

    FUNCTION IsButtonChecked (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG) AS LONG

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
idButton | Command identifier of the button.

#### Return value

Returns nonzero if the button is checked, or zero otherwise.

### IsButtonEnabled

Determines whether the specified button in a toolbar is enabled.

    FUNCTION IsButtonEnabled (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG) AS LONG

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
idButton | Command identifier of the button.

#### Return value

Returns nonzero if the button is enabled, or zero otherwise.

### IsButtonHidden

Determines whether the specified button in a toolbar is hidden.

    FUNCTION IsButtonHidden (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG) AS LONG

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
idButton | Command identifier of the button.

#### Return value

Returns nonzero if the button is hidden, or zero otherwise.

### IsButtonHighlighted

Checks the highlight state of a toolbar button.

    FUNCTION IsButtonHighlighted (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG) AS LONG

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
idButton | Command identifier of the button.

#### Return value

Returns nonzero if the button is highlighted, or zero otherwise.

### IsButtonIndeterminate

Determines whether the specified button in a toolbar is indeterminate.

    FUNCTION IsButtonIndeterminate (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG) AS LONG

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
idButton | Command identifier of the button.

#### Return value

Returns nonzero if the button is indeterminate, or zero otherwise.

### IsButtonPressed

Determines whether the specified button in a toolbar is pressed.

    FUNCTION IsButtonPressed (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG) AS LONG

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
idButton | Command identifier of the button.

#### Return value

Returns nonzero if the button is pressed, or zero otherwise.

### LoadImages

Loads system-defined button images into a toolbar control’s image list.

    FUNCTION LoadImages (BYVAL hToolbar AS HWND, BYVAL iBitmapID AS DWORD, BYVAL hinst AS HINSTANCE) AS LONG
    FUNCTION LoadImages (BYVAL hToolbar AS HWND, BYVAL iBitmapID AS DWORD) AS LONG

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
iBitmapID | Identifier of a system-defined button image list. This parameter can be set to one of the following values (see below).
hInst | Instance handle. This parameter must be set to HINST_COMMCTRL.

Value | Meaning
--- | ---
IDB_HIST_LARGE_COLOR | Windows Explorer bitmaps in large size.
IDB_HIST_SMALL_COLOR | Windows Explorer bitmaps in small size.
IDB_STD_LARGE_COLOR | Standard bitmaps in large size.
IDB_STD_SMALL_COLOR | Standard bitmaps in small size.
IDB_VIEW_LARGE_COLOR | View bitmaps in large size.
IDB_VIEW_SMALL_COLOR | View bitmaps in small size.
IDB_HIST_NORMAL | Windows Explorer travel buttons and favorites bitmaps in normal state.
IDB_HIST_HOT | Windows Explorer travel buttons and favorites bitmaps in hot state.
IDB_HIST_DISABLED | Windows Explorer travel buttons and favorites bitmaps in disabled state.
IDB_HIST_PRESSED | Windows Explorer travel buttons and favorites bitmaps in pressed state.

#### Return value

The count of images in the image list. Returns zero if the toolbar has no image list or if the existing image list is empty.

#### Remarks

You must use the proper image index values when you prepare TBBUTTON structures prior to sending the TB_ADDBUTTONSW message. For a list of image index values for these preset bitmaps, see Toolbar Standard Button Image Index Values.

### MakeOpaque

Makes the toolbar opaque by removing the TBSTYLE_TRANSPARENT style.

    SUB MakeOpaque (BYVAL hToolbar AS HWND)

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

### MapAccelerator

Determines the ID of the button that corresponds to the specified accelerator character.

    FUNCTION MapAccelerator (BYVAL hToolbar AS HWND, BYVAL chAccel AS DWORD, BYVAL pIDBtn AS DWORD PTR) AS BOOLEAN
    FUNCTION MapAccelerator (BYVAL hToolbar AS HWND, BYVAL chAccel AS DWORD, BYREF IDBtn AS DWORD) AS BOOLEAN
    FUNCTION MapAccelerator (BYVAL hToolbar AS HWND, BYVAL chAccel AS DWORD) AS DWORD

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
chAccel | The accelerator character.
IDBtn | Pointer to a DWORD. On return, if successful, this parameter will hold the id of the button that has chAccel as its accelerator character.
IDBtn | A DWORD. On return, if successful, this parameter will hold the id of the button that has chAccel as its accelerator character.

#### Return value

Returns a nonzero value if one of the buttons has chAccel as its accelerator character, or zero otherwise.

### MarkButton

Sets the highlight state of a given button in a toolbar control.

    FUNCTION MarkButton (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG, BYVAL fHighlight AS SHORT) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
idButton | Command identifier for a toolbar button.
fHighlight | TRUE to highlight the button; FALSE to set the button to its default state.

#### Return value

Returns TRUE if successful, or FALSE otherwise.

### MoveButton

Moves a button from one index to another.

    FUNCTION MoveButton (BYVAL hToolbar AS HWND, BYVAL uOldPos AS DWORD, BYVAL uNewPos AS DWORD) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
uOldPos | Zero-based index of the button to be moved.
uNewPos | Zero-based index where the button will be moved.

#### Return value

Returns TRUE if successful, or FALSE otherwise.

### PressButton

Presses or releases the specified button in a toolbar.

    FUNCTION PressButton (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG, BYVAL fPress AS SHORT) AS BOOLEAN
    FUNCTION PressButton (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG) AS BOOLEAN
    FUNCTION ReleaseButton (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
idButton | Command identifier of the button to press or release.
fPress | If TRUE, the button is pressed. If FALSE, the button is released.

#### Return value

Returns TRUE if successful, or FALSE otherwise.

### RemoveDarkMode

Removes the toolbar dark mode.

    FUNCTION RemoveDarkMode (BYVAL hToolbar AS HWND) AS HRESULT

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

#### Return value

If this function succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.

### ReplaceBitmap

Replaces an existing bitmap with a new bitmap.

    FUNCTION ReplaceBitmap (BYVAL hToolbar AS HWND, BYVAL ptbrb AS TBREPLACEBITMAP PTR) AS BOOLEAN
    FUNCTION ReplaceBitmap (BYVAL hToolbar AS HWND, BYREF tbrb AS TBREPLACEBITMAP) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
ptbrb | Pointer to a TBREPLACEBITMAP structure that contains the information of the bitmap to be replaced and the new bitmap.
tbrb | A TBREPLACEBITMAP structure that contains the information of the bitmap to be replaced and the new bitmap.

#### Return value

Returns TRUE if successful, or FALSE otherwise.

### SaveRestore

Send this message to initiate saving or restoring a toolbar state.

    SUB SaveRestore (BYVAL hToolbar AS HWND, BYVAL fSave AS LONG, BYVAL ptbsp AS TBSAVEPARAMSW PTR)
    SUB SaveRestore (BYVAL hToolbar AS HWND, BYVAL fSave AS LONG, BYREF tbsp AS TBSAVEPARAMSW)

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
fSave | Save or restore flag. If this parameter is TRUE, the information is saved. If it is FALSE, the information is restored.
ptbsp | Pointer to a TBSAVEPARAMS structure that specifies the registry key, subkey, and value name for the toolbar state information.
tbsp | A TBSAVEPARAMS structure that specifies the registry key, subkey, and value name for the toolbar state information.

### SetAnchorHighlight

Sets the anchor highlight setting for a toolbar.

    FUNCTION SetAnchorHighlight (BYVAL hToolbar AS HWND, BYVAL fAnchor AS BOOLEAN) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
fAnchor | BOOL value that specifies if anchor highlighting is enabled or disabled. If this value is nonzero, anchor highlighting will be enabled. If this value is zero, anchor highlighting will be disabled.

#### Return value

Returns the previous anchor highlight setting. If this value is nonzero, anchor highlighting was enabled. If this value is zero, anchor highlighting was disabled.

#### Remarks

Anchor highlighting in a toolbar means that the last highlighted item will remain highlighted until another item is highlighted. This occurs even if the cursor leaves the toolbar control.

### SetBitmapSize

Sets the size of the bitmapped images to be added to a toolbar.

    FUNCTION SetBitmapSize (BYVAL hToolbar AS HWND, BYVAL dxBitmap AS SHORT, BYVAL dyBitmap AS SHORT) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
dxBitmap | The width, in pixels, of the bitmapped images.
dyBitmap | The height, in pixels, of the bitmapped images.

#### Return value

Returns TRUE if successful, or FALSE otherwise.

#### Remarks

The size can be set only before adding any bitmaps to the toolbar. If an application does not explicitly set the bitmap size, the size defaults to 16 by 15 pixels.

### SetButtonInfo

Sets the information for an existing button in a toolbar.

    FUNCTION SetButtonInfo (BYVAL hToolbar AS HWND, BYVAL iID AS LONG, BYVAL ptbbi AS TBBUTTONINFOW PTR) AS LONG
    FUNCTION SetButtonInfo (BYVAL hToolbar AS HWND, BYVAL iID AS LONG, BYREF tbbi AS TBBUTTONINFOW) AS LONG

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
iID | Button identifier.
ptbbi | Pointer to a TBBUTTONINFO structure that contains the new button information. The cbSize and dwMask members of this structure must be filled in prior to sending this message.
tbbi | A TBBUTTONINFO structure that contains the new button information. The cbSize and dwMask members of this structure must be filled in prior to sending this message.

#### Return value

Returns nonzero if successful, or zero otherwise.

#### Remarks

Text is commonly assigned to buttons when they are added to a toolbar by specifying the index of a string in the toolbar’s string pool. If you use a TB_SETBUTTONINFO to assign new text to a button, it will permanently override the text from the string pool. You can change the text by calling TB_SETBUTTONINFO again, but you cannot reassign the string from the string pool

### SetButtonSize

Sets the size of buttons on a toolbar.

    FUNCTION SetButtonSize (BYVAL hToolbar AS HWND, BYVAL dxButton AS SHORT, BYVAL dyButton AS SHORT) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
dxButton | The width, in pixels, of the buttons.
dyButton | The height, in pixels, of the buttons.

#### Return value

Returns TRUE if successful, or FALSE otherwise.

### SetButtonWidth

Sets the minimum and maximum button widths in the toolbar control.

    FUNCTION SetButtonWidth (BYVAL hToolbar AS HWND, BYVAL cxMin AS SHORT, BYVAL cxMax AS SHORT) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
cxMin | The minimum button width, in pixels. Toolbar buttons will never be narrower than this value.
cxMax | The maximum button width, in pixels. If button text is too wide, the control displays it with ellipsis points.

#### Return value

Returns TRUE if successful, or FALSE otherwise.

### SetCmdId

Sets the command identifier of a toolbar button.

    FUNCTION SetCmdId (BYVAL hToolbar AS HWND, BYVAL index AS SHORT, BYVAL cmdid AS SHORT) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
index | Zero-based index of the button whose command identifier is to be set.
cmdid | Command identifier.

#### Return value

Returns TRUE if successful, or FALSE otherwise.

### SetColorScheme

Sets the color scheme information for the toolbar control.

    SUB SetColorScheme (BYVAL hToolbar AS HWND, BYVAL pcs AS COLORSCHEME PTR)
    SUB SetColorScheme (BYVAL hToolbar AS HWND, BYREF cs AS COLORSCHEME)

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
pcs | Pointer to a COLORSCHEME structure that contains the color scheme information.
cs | A COLORSCHEME structure that contains the color scheme information.

#### Return value

Returns TRUE if successful, or FALSE otherwise.

### SetDarkMode

Sets the toolbar dark mode.

    FUNCTION SetDarkMode (BYVAL hToolbar AS HWND) AS HRESULT

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.

#### Return value

If this function succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.

### SetDisabledImageList

Sets the image list that the toolbar control will use to display disabled buttons.

    FUNCTION SetDisabledImageList (BYVAL hToolbar AS HWND, BYVAL himlNewDisabled AS HIMAGELIST) AS HIMAGELIST

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
himlNewDisabled | Handle to the image list that will be set.

#### Return value

Returns the handle to the image list previously used to display disabled buttons, or NULL if no image list was previously set.

### SetDrawTextFlags

Sets the text drawing flags for the toolbar.

    FUNCTION SetDrawTextFlags (BYVAL hToolbar AS HWND, BYVAL dwMask AS DWORD, BYVAL dwDTFlags AS DWORD) AS DWORD

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
dwMask | One or more of the DT_ flags, specified in DrawText, that indicate which bits in dwDTFlags will be used when drawing the text.
dwDTFlags | One or more of the DT_ flags, specified in DrawText, that indicate how the button text will be drawn. This value will be passed to the DrawText function when the button text is drawn.

#### Return value

Returns the previous text drawing flags.

#### Remarks

The dwMask parameter allows you to specify which flags will be used when drawing the text, even if these flags are turned off. For example, if you do not want the DT_CENTER flag used when drawing text, you would add the DT_CENTER flag to dwMask and not specify the DT_CENTER flag in dwDTFlags. This prevents the control from passing the DT_CENTER flag to the DrawText function.

### SetExtendedStyle

Sets the extended styles for a toolbar control.

    FUNCTION SetExtendedStyle (BYVAL hToolbar AS HWND, BYVAL dwExStyle AS DWORD) AS DWORD

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
dwExStyle | Value specifying the new extended styles. This parameter can be a combination of extended styles.

#### Return value

Returns a DWORD that represents the previous extended styles. This value can be a combination of extended styles.

### SetHotImageList

Sets the image list that the toolbar control will use to display hot buttons.

    FUNCTION SetHotImageList (BYVAL hToolbar AS HWND, BYVAL himlNewHot AS HIMAGELIST) AS HIMAGELIST

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
himlNewHot | Handle to the image list that will be set.

#### Return value

Returns the handle to the image list previously used to display hot buttons, or NULL if no image list was previously set.

#### Remarks

A button is hot when the cursor is over it. Toolbar controls must have the TBSTYLE_FLAT or TBSTYLE_LIST style to have hot items.

### SetHotItem

Sets the hot item in a toolbar.

    FUNCTION SetHotItem (BYVAL hToolbar AS HWND, BYVAL iHot AS LONG) AS LONG

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
iHot | Index of the item that will be made hot. If this value is -1, none of the items will be hot.

#### Return value

Returns the index of the previous hot item, or -1 if there was no hot item.

#### Remarks

The behavior of this message is not defined for toolbars that do not have the TBSTYLE_FLAT style.

### SetImageList

Sets the image list that the toolbar uses to display buttons that are in their default state.

    FUNCTION SetImageList (BYVAL hToolbar AS HWND, BYVAL himlNew AS HIMAGELIST) AS HIMAGELIST

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
himlNew | Handle to the image list to set. If this parameter is NULL, no images are displayed in the buttons.

#### Return value

Returns the handle to the image list previously used to display buttons in their default state, or NULL if no image list was previously set.

#### Remarks

Your application is responsible for freeing the image list after the toolbar is destroyed.

The TB_SETIMAGELIST message cannot be combined with TB_ADDBITMAP. It also cannot be used with toolbars created with CreateToolbarEx, which calls TB_ADDBITMAP internally. When you create a toolbar with CreateToolbarEx or use TB_ADDBITMAP to add images, the toolbar manages the image list internally. Attempting to modify it with TB_SETIMAGELIST has unpredictable consequences.

### SetIndent

Sets the indentation for the first button in a toolbar control.

    FUNCTION SetIndent (BYVAL hToolbar AS HWND, BYVAL iIndent AS LONG) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
iIndent | Value specifying the indentation, in pixels.

#### Return value

If this function succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.

### SetInsertMark

Sets the current insertion mark for the toolbar.

    SUB SetInsertMark (BYVAL hToolbar AS HWND, BYVAL ptbim AS TBINSERTMARK PTR)
    SUB SetInsertMark (BYVAL hToolbar AS HWND, BYREF tbim AS TBINSERTMARK)

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
ptbim | Pointer to a TBINSERTMARK structure that contains the insertion mark.
tbim | A TBINSERTMARK structure that contains the insertion mark.

### SetInsertMarkColor

Sets the color used to draw the insertion mark for the toolbar.

    FUNCTION SetInsertMarkColor (BYVAL hToolbar AS HWND, BYVAL clrInsertMark AS COLORREF) AS COLORREF

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
clrInsertMark | COLORREF value that contains the new insertion mark color.

#### Return value

Returns a COLORREF value that contains the previous insertion mark color.

### SetListGap

Sets the distance between the toolbar buttons on a specific toolbar.

    SUB SetListGap (BYVAL hToolbar AS HWND, BYVAL gap AS DWORD)

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
gap | The gap, in pixels, between buttons on the toolbar.

#### Remarks

The gap between buttons only applies to the toolbar control window that receives this message. Receipt of this message triggers a repaint of the toolbar, if the toolbar is currently visible.

### SetMaxTextRows

Sets the maximum number of text rows displayed on a toolbar button.

    FUNCTION SetMaxTextRows (BYVAL hToolbar AS HWND, BYVAL iMaxRows AS LONG) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
iMaxRows | Maximum number of rows of text that can be displayed.

#### Return value

If this function succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.

#### Remarks

To cause text to wrap, you must set the maximum button width by sending a TB_SETBUTTONWIDTH message. The text wraps at a word break; line breaks (“”) in the text are ignored. Text in TBSTYLE_LIST toolbars is always shown on a single line.

### SetMetrics

Sets the metrics of a toolbar control.

    SUB SetMetrics (BYVAL hToolbar AS HWND, BYVAL ptbMetrics AS TBMETRICS PTR)
    SUB SetMetrics (BYVAL hToolbar AS HWND, BYREF tbMet AS TBMETRICS)

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
ptbMetrics | Pointer to a TBMETRICS structure that contains the toolbar metrics to set.
tbMet | A TBMETRICS structure that contains the toolbar metrics to set.

#### Remarks

To use this message, you must provide a manifest specifying Comclt32.dll version 6.0.

### SetPadding

Sets the padding for a toolbar control.

    FUNCTION SetPadding (BYVAL hToolbar AS HWND, BYVAL cx AS SHORT, BYVAL cy AS SHORT) AS DWORD

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
cx | The horizontal padding, in pixels.
cy | The vertical padding, in pixels.

#### Return value

Returns a DWORD value that contains the previous horizontal padding in the LOWORD and the previous vertical padding in the HIWORD, in pixels.

#### Remarks

The padding values are used to create a blank area between the edge of the button and the button’s image and/or text. Where and how much padding is actually applied depends on the type of the button and whether it has an image. The horizontal padding is applied to both the right and left of the button, and the vertical padding is applied to both the top and bottom of the button. Padding is only applied to buttons that have the TBSTYLE_AUTOSIZE style.

### SetParent

Sets the window to which the toolbar control sends notification messages.

    FUNCTION SetParent (BYVAL hToolbar AS HWND, BYVAL hwndParent AS HWND) AS HWND

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
hwndParent | Handle to the window to receive notification messages.

#### Return value

The return value is a handle to the previous notification window, or NULL if there is no previous notification window.

#### Remarks

The TB_SETPARENT message does not change the parent window that was specified when the control was created. Calling the GetParent function for a toolbar control will return the actual parent window, not the window specified in TB_SETPARENT. To change the control’s parent window, call the SetParent function.

### SetPressedImageList

Sets the image list that the toolbar uses to display buttons that are in a pressed state.

    FUNCTION SetPressedImageList (BYVAL hToolbar AS HWND, BYVAL iImageID AS DWORD, BYVAL himlNew AS HIMAGELIST) AS HIMAGELIST

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
iImageID | The index of the image list. If you use only one image list, set this parameter to zero.
himlNew | Handle to the image list to set. If this parameter is NULL, no images are displayed in the buttons.

#### Return value

Returns the handle to the image list previously used to display buttons in their pressed state, or NULL if no such image list was previously set.

#### Remarks

Your application is responsible for freeing the image list after the toolbar is destroyed.

The TB_SETPRESSEDIMAGELIST message cannot be combined with TB_ADDBITMAP. It also cannot be used with toolbars created with CreateToolbarEx, which calls TB_ADDBITMAP internally. When you create a toolbar with CreateToolbarEx or use TB_ADDBITMAP to add images, the toolbar manages the image list internally. Attempting to modify it with TB_SETPRESSEDIMAGELIST has unpredictable consequences.

### SetRows

Sets the number of rows of buttons in a toolbar.

    SUB SetRows (BYVAL hToolbar AS HWND, BYVAL cRows AS WORD, BYVAL fLarger AS BOOLEAN, BYVAL prc AS RECT PTR)
    SUB SetRows (BYVAL hToolbar AS HWND, BYVAL cRows AS WORD, BYVAL fLarger AS BOOLEAN, BYREF rc AS RECT)

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
cRows | The number of rows requested. The minimum number of rows is one, and the maximum number of rows is equal to the number of buttons in the toolbar
fLarger | Indicates whether to create more rows than requested when the system cannot create the number of rows specified by wParam. If TRUE, the system creates more rows. If FALSE, the system creates fewer rows.
prc | Pointer to a RECT structure that receives the bounding rectangle of the toolbar after the rows are set.
rc | A RECT structure that receives the bounding rectangle of the toolbar after the rows are set.

#### Remarks

Because the system does not break up button groups when setting the number of rows, the resulting number of rows might differ from the number requested.

### SetState

Sets the state for the specified button in a toolbar.

    FUNCTION SetState (BYVAL hToolbar AS HWND, BYVAL idButton AS LONG, BYVAL fState AS SHORT) AS BOOLEAN

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
idButton | Command identifier of the button.
fState | A is a combination of values listed in Toolbar Button States.

#### Return value

Returns TRUE if successful, or FALSE otherwise.

### SetStyle

Sets the style for a toolbar control.

    SUB SetStyle (BYVAL hToolbar AS HWND, BYVAL dwStyle AS DWORD)

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
dwStyle | Value specifying the styles to be set for the control. This value can be a combination of toolbar control styles.

#### Return value

Returns TRUE if successful, or FALSE otherwise.

### SetToolTips

Associates a tooltip control with a toolbar.

    SUB SetToolTips (BYVAL hToolbar AS HWND, BYVAL hwndToolTip AS HWND)

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
hwndToolTip | Handle to the tooltip control.

#### Remarks

Any buttons added to a toolbar before sending the TB_SETTOOLTIPS message will not be registered with the tooltip control.

### SetWindowTheme

Sets the visual style of a toolbar control.

    SUB SetWindowTheme (BYVAL hToolbar AS HWND, BYVAL pwszTheme AS WSTRING PTR)

Parameter | Description
--- | ---
hToolbar | Handle to the toolbar control.
pwszTheme | Pointer to a Unicode string that contains the toolbar visual style to set.

#### Remarks

To use this message, you must provide a manifest specifying Comclt32.dll version 6.0.

Sending this message is equivalent to calling SetWindowTheme on the toolbar and its tooltip control, if any.