工具栏控件和按钮样式

以下窗口样式特定于工具栏。 创建工具栏时,它们与其他窗口样式结合使用。

注意 对于通用控件 版本 6.00,如果 视觉样式 与工具栏一起使用,则无论样式设置如何,按钮始终是透明的。 否则,透明度行为是正常的,如使用TBSTYLE_FLAT或TBSTYLE_TRANSPARENT样式所示。

注意

Comctl32.dll版本 6 不可再发行,但它包含在 Windows 中。 若要使用 Comctl32.dll版本 6,请在清单中指定它。 有关清单的详细信息,请参阅 启用视觉样式

返回的常量 说明
TBSTYLE_ALTDRAG
允许用户通过在按住 Alt 键的同时拖动工具栏按钮来更改工具栏按钮的位置。 如果未指定此样式,则用户必须在拖动按钮时按住 Shift 键。 请注意,必须指定 CCS_ADJUSTABLE 样式才能拖动工具栏按钮。
TBSTYLE_CUSTOMERASE
版本 4.70。 当工具栏处理 WM_ERASEBKGND 消息时,生成 NM_CUSTOMDRAW 通知代码。
TBSTYLE_FLAT
版本 4.70。 创建平面工具栏。 在平面工具栏中,工具栏和按钮都是透明的,并且已启用热跟踪。 按钮文本显示在按钮位图下方。 若要防止重新绘制问题,应在工具栏控件可见之前设置此样式。
TBSTYLE_LIST
版本 4.70。 创建一个平面工具栏,其按钮文本在位图右侧。 否则,此样式与 TBSTYLE_FLAT相同。 若要防止重新绘制问题,应在工具栏控件可见之前设置此样式。
TBSTYLE_REGISTERDROP
版本 4.71。 生成 TBN_GETOBJECT 通知代码,以在光标经过工具栏按钮时请求放置目标对象。
TBSTYLE_TOOLTIPS
创建一个工具提示控件,应用程序可以使用该控件显示工具栏中按钮的描述性文本。
TBSTYLE_TRANSPARENT
版本 4.71。 创建透明工具栏。 在透明工具栏中,工具栏是透明的,但按钮不是。 按钮文本显示在按钮位图下方。 若要防止重新绘制问题,应在工具栏控件可见之前设置此样式。
TBSTYLE_WRAPABLE
创建可以包含多行按钮的工具栏。 当工具栏变得太窄,无法包含同一行上的所有按钮时,工具栏按钮可以“跳”到下一行。 当工具栏被换行时,如果条形图上没有分隔符,将在最右侧的分隔符或最右侧的按钮上出现分隔符。 当工具栏是垂直 rebar 控件的一部分时,必须设置此样式以显示垂直 工具栏控件。 此样式不能与CCS_VERT结合使用。

注意: 工具栏按钮可以具有以下样式的组合。 若要指定按钮样式,请在按钮的 TBBUTTON 结构的 fsStyle 成员中设置相应的标志。 并非所有样式都可以组合使用。

对于 Shell 版本 4.72 及更早版本,窗口样式标志和按钮样式标志的窗体TBSTYLE_XXX。 如果要编译版本 为 4.72 或更低版本的 Commctrl.h 的应用程序,则必须使用TBSTYLE_XXX按钮样式标志。 对于版本 5.80 及更高版本,所有按钮样式的窗体BTNS_XXX。 所有TBSTYLE_XXX值都具有等效BTNS_XXX值,其含义和数值相同。 为方便起见,下表中提供了这两种形式。

返回的常量 说明
BTNS_AUTOSIZE
版本 5.80。 指定工具栏控件不应为按钮分配标准宽度。 相反,按钮的宽度将基于文本宽度加上按钮的图像计算。 对版本 4.72 及更早版本使用等效的样式标志 TBSTYLE_AUTOSIZE
BTNS_BUTTON
版本 5.80。 创建标准按钮。 对版本 4.72 及更早版本使用等效的样式标志 TBSTYLE_BUTTON。 此标志定义为 0,应用于表示未设置其他标志。
BTNS_CHECK
版本 5.80。 创建一个双状态推送按钮,该按钮在用户每次单击时在按下状态和非按下状态之间切换。 按钮处于按下状态时具有不同的背景色。 对版本 4.72 及更早版本使用等效的样式标志 TBSTYLE_CHECK
BTNS_CHECKGROUP
版本 5.80。 创建一个在按下组中另一个按钮之前保持按下状态的按钮,类似于选项按钮 (也称为单选按钮) 。 它等效于组合BTNS_CHECK和BTNS_GROUP。 对版本 4.72 及更早版本使用等效的样式标志 TBSTYLE_CHECKGROUP
BTNS_DROPDOWN
版本 5.80。 创建可在单击按钮时显示列表的下拉样式按钮。 下拉按钮发送TBN_DROPDOWN通知代码,而不是用于普通按钮的 WM_COMMAND 消息。 然后,应用程序可以让通知处理程序显示选项列表。 对版本 4.72 及更早版本使用等效的样式标志 TBSTYLE_DROPDOWN
如果工具栏具有 TBSTYLE_EX_DRAWDDARROWS 扩展样式,则下拉按钮将在其右侧的单独部分显示下拉箭头。 如果单击箭头,将发送TBN_DROPDOWN通知代码。 如果单击关联的按钮,则会发送WM_COMMAND消息。
BTNS_GROUP
版本 5.80。 与 BTNS_CHECK 结合使用时,创建一个保持按下状态的按钮,直到按下组中的另一个按钮。 对版本 4.72 及更早版本使用等效的样式标志 TBSTYLE_GROUP
BTNS_NOPREFIX
版本 5.80。 指定按钮文本将不具有与之关联的加速键前缀。 对版本 4.72 及更早版本使用等效的样式标志 TBSTYLE_NOPREFIX
BTNS_SEP
版本 5.80。 创建一个分隔符,在按钮组之间提供小间隔。 具有此样式的按钮不接收用户输入。 对版本 4.72 及更早版本使用等效的样式标志 TBSTYLE_SEP
BTNS_SHOWTEXT
版本 5.81。 指定应显示按钮文本。 所有按钮都可以包含文本,但只有具有BTNS_SHOWTEXT按钮样式的按钮才会显示文本。 此按钮样式必须与 TBSTYLE_LIST 样式和 TBSTYLE_EX_MIXEDBUTTONS 扩展样式一起使用。 如果为没有BTNS_SHOWTEXT样式的按钮设置文本,则当光标悬停在按钮上时,工具栏控件将自动将其显示为工具提示。 此功能允许应用程序避免处理 工具栏的TBN_GETINFOTIPTTN_GETDISPINFO 通知代码。
BTNS_WHOLEDROPDOWN
版本 5.80。 指定按钮将具有下拉箭头,但不能作为单独的部分。 无论是否设置了 TBSTYLE_EX_DRAWDDARROWS 扩展样式,具有此样式的按钮的行为都相同。
TBSTYLE_AUTOSIZE
等效于 BTNS_AUTOSIZE。 对 版本 4.72 及更早版本使用 TBSTYLE_AUTOSIZE。
TBSTYLE_BUTTON
等效于 BTNS_BUTTON。 对 版本 4.72 及更早版本使用 TBSTYLE_BUTTON。
TBSTYLE_CHECK
等效于 BTNS_CHECK。 对 版本 4.72 及更早版本使用 TBSTYLE_CHECK。
TBSTYLE_CHECKGROUP
等效于 BTNS_CHECKGROUP。 对 版本 4.72 及更早版本使用 TBSTYLE_CHECKGROUP。
TBSTYLE_DROPDOWN
等效于 BTNS_DROPDOWN。 对 版本 4.72 及更早版本使用 TBSTYLE_DROPDOWN。
TBSTYLE_GROUP
等效于 BTNS_GROUP。 对 版本 4.72 及更早版本使用 TBSTYLE_GROUP。
TBSTYLE_NOPREFIX
等效于 BTNS_NOPREFIX。 对 版本 4.72 及更早版本使用 TBSTYLE_NOPREFIX。
TBSTYLE_SEP
等效于 BTNS_SEP。 对 版本 4.72 及更早版本使用 TBSTYLE_SEP。

要求

要求
标头
CommCtrl.h