Toolbar

本节包含与工具栏控件一起使用的编程元素的相关信息。

概述

主题 目录
关于工具栏控件 工具栏是一个包含一个或多个按钮的控件。 用户单击每个按钮时,都会向父窗口发送一条命令消息。 通常,工具栏中的按钮对应于应用程序菜单项,为用户另外提供了一种更直接的方式来访问应用程序命令。
使用工具栏控件 本主题包含在应用程序中使用工具栏控件的实施详细信息和示例代码。

函数

主题 目录
CreateMappedBitmap 创建用于工具栏的位图。
CreateToolbarEx 创建工具栏窗口并将指定按钮添加到工具栏中。 注意:此函数已被弃用,因为它不支持工具栏的所有功能。 请改为使用 CreateWindowEx。 有关示例,请参阅使用工具栏控件

消息

主题 目录
TB_ADDBITMAP 将一个或多个图像添加到工具栏的按钮图像列表中。
TB_ADDBUTTONS 为工具栏添加一个或多个按钮。
TB_ADDSTRING 在工具栏字符串池中添加新字符串。
TB_AUTOSIZE 导致工具栏的大小被调整。
TB_BUTTONCOUNT 检索当前工具栏中按钮的数量。
TB_BUTTONSTRUCTSIZE 指定 TBBUTTON 结构的大小。
TB_CHANGEBITMAP 更改工具栏中按钮的位图。
TB_CHECKBUTTON 选中或取消选中工具栏中的给定按钮。
TB_COMMANDTOINDEX 检索与指定命令标识符关联的按钮的从零开始的索引。
TB_CUSTOMIZE 显示自定义工具栏对话框。
TB_DELETEBUTTON 删除工具栏中的按钮。
TB_ENABLEBUTTON 启用或禁用工具栏中的指定按钮。
TB_GETANCHORHIGHLIGHT 检索工具栏的定位点突出显示设置。
TB_GETBITMAP 检索与工具栏中的按钮关联的位图的索引。
TB_GETBITMAPFLAGS 检索描述所用位图类型的标志。
TB_GETBUTTON 检索有关工具栏中指定按钮的信息。
TB_GETBUTTONINFO 检索工具栏中按钮的扩展信息。
TB_GETBUTTONSIZE 检索工具栏按钮当前的宽度和高度(以像素为单位)。
TB_GETBUTTONTEXT 检索工具栏中按钮的显示文本。
TB_GETCOLORSCHEME 检索工具栏控件中的配色方案信息。
TB_GETDISABLEDIMAGELIST 检索工具栏控件用于显示非活动按钮的图像列表。
TB_GETEXTENDEDSTYLE 检索工具栏控件的扩展样式。
TB_GETHOTIMAGELIST 检索工具栏控件用于显示热按钮的图像列表。
TB_GETHOTITEM 检索工具栏中的热项的索引。
TB_GETIDEALSIZE 获取工具栏的理想尺寸。
TB_GETIMAGELIST 检索工具栏控件用于显示处于默认状态的按钮的图像列表。 工具栏控件在按钮未热或被禁用时使用此图像列表来显示按钮。
TB_GETIMAGELISTCOUNT 获取与工具栏关联的图片列表数量。
TB_GETINSERTMARK 检索工具栏的当前插入标记。
TB_GETINSERTMARKCOLOR 检索用于绘制工具栏的插入标记的颜色。
TB_GETITEMDROPDOWNRECT 为具有 BTNS_DROPDOWN 样式的工具栏项目获取下拉窗口的边界矩形。
TB_GETITEMRECT 检索工具栏中按钮的边界矩形。
TB_GETMAXSIZE 检索工具栏中所有可见的按钮和分隔符的总大小。
TB_GETMETRICS 检索工具栏控件的指标。
TB_GETOBJECT 检索工具栏控件的 IDropTarget
TB_GETPADDING 检索工具栏控件的填充。
TB_GETPRESSEDIMAGELIST 获取工具栏控件用于显示按下状态按钮的图像列表。
TB_GETRECT 检索指定工具栏按钮的边框。
TB_GETROWS 检索具有 TBSTYLE_WRAPABLE 样式的工具栏中按钮的行数。
TB_GETSTATE 检索工具栏中指定按钮的状态信息,例如是否启用、按下或选中。
TB_GETSTRING 从工具栏的字符串池中检索字符串。
TB_GETSTYLE 检索当前用于工具栏控件的样式。
TB_GETTEXTROWS 检索工具栏按钮上可显示的最大文本行数。
TB_GETTOOLTIPS 检索与工具栏相关联的工具提示控件(如有)的句柄。
TB_GETUNICODEFORMAT 检索控件的 Unicode 字符格式标志。
TB_HASACCELERATOR 仅供内部使用,不建议在应用程序中使用。
检索具有指定加速键字符的工具栏按钮的计数。
TB_HIDEBUTTON 在工具栏中隐藏或显示指定的按钮。
TB_HITTEST 确定某个点在工具栏控件中的位置。
TB_INDETERMINATE 设置或清除工具栏中指定按钮的不确定状态。
TB_INSERTBUTTON 在工具栏中插入一个按钮。
TB_INSERTMARKHITTEST 检索工具栏中的点的插入标记信息。
TB_ISBUTTONCHECKED 确定工具栏中的指定按钮是否被选中。
TB_ISBUTTONENABLED 确定工具栏中的指定按钮是否被启用。
TB_ISBUTTONHIDDEN 确定工具栏中的指定按钮是否被隐藏。
TB_ISBUTTONHIGHLIGHTED 检查工具栏按钮的突出显示状态。
TB_ISBUTTONINDETERMINATE 确定工具栏中的指定按钮是否为不确定状态。
TB_ISBUTTONPRESSED 确定工具栏中的指定按钮是否被按下。
TB_LOADIMAGES 将系统定义的按钮图像加载到工具栏控件的图像列表中。
TB_MAPACCELERATOR 确定与指定加速键字符相对应的按钮 ID。
TB_MARKBUTTON 设置工具栏控件中给定按钮的突出显示状态。
TB_MOVEBUTTON 将按钮从一个索引移到另一个索引。
TB_PRESSBUTTON 按下或释放工具栏中的指定按钮。
TB_REPLACEBITMAP 用新的位图替换现有位图。
TB_SAVERESTORE 发送此信息可启动保存或恢复工具栏状态。
TB_SETANCHORHIGHLIGHT 设置工具栏的定位点突出显示设置。
TB_SETBITMAPSIZE 设置要添加到工具栏的位图图像的大小。
TB_SETBOUNDINGSIZE 仅供内部使用,不建议在应用程序中使用。
设置多列工具栏控件的边界尺寸。
TB_SETBUTTONINFO 设置工具栏中的现有按钮的信息。
TB_SETBUTTONSIZE 设置工具栏上的按钮大小。
TB_SETBUTTONWIDTH 设置工具栏控件中的最小和最大按钮宽度。
TB_SETCMDID 设置工具栏按钮的命令标识符。
TB_SETCOLORSCHEME 设置工具栏控件的配色方案信息。
TB_SETDISABLEDIMAGELIST 设置工具栏控件将用于显示禁用的按钮的图像列表。
TB_SETDRAWTEXTFLAGS 设置工具栏的文本绘制标志。
TB_SETEXTENDEDSTYLE 设置工具栏控件的扩展样式。
TB_SETHOTIMAGELIST 设置工具栏控件将用于显示热按钮的图像列表。
TB_SETHOTITEM 设置工具栏中的热项。
TB_SETHOTITEM2 设置工具栏中的热项。
TB_SETIMAGELIST 设置工具栏用于显示处于默认状态的按钮的图像列表。
TB_SETINDENT 设置工具栏控件中第一个按钮的缩进。
TB_SETINSERTMARK 设置工具栏的当前插入标记。
TB_SETINSERTMARKCOLOR 设置用于绘制工具栏的插入标记的颜色。
TB_SETLISTGAP 设置特定工具栏上的工具栏按钮之间的距离。
TB_SETMAXTEXTROWS 设置工具栏按钮上显示的文本行的最大数量。
TB_SETMETRICS 设置工具栏控件的指标。
TB_SETPADDING 设置工具栏控件的填充。
TB_SETPARENT 设置工具栏控件向其发送通知代码的窗口。
TB_SETPRESSEDIMAGELIST 设置工具栏用于显示处于按下状态的按钮的图像列表。
TB_SETROWS 设置工具栏中按钮的行数。
TB_SETSTATE 设置工具栏中所指定按钮的状态。
TB_SETSTYLE 设置工具栏控件的样式。
TB_SETTOOLTIPS 将工具提示控件与工具栏相关联。
TB_SETUNICODEFORMAT 设置控件的 Unicode 字符格式标志。 此消息允许在运行时更改控件使用的字符集,而无需重新创建控件。
TB_SETWINDOWTHEME 设置工具栏控件的视觉样式。
TB_TRANSLATEACCELERATOR 向工具栏传递键盘信息。

通知

主题 目录
NM_CHAR(工具栏) 当工具栏收到 WM_CHAR 消息时由其发送。 此通知代码以 WM_NOTIFY 消息的形式发送。
NM_CLICK(工具栏) 在在用户用鼠标左键单击某个项目时由工具栏控件发送。 此通知代码以 WM_NOTIFY 消息的形式发送。
NM_CUSTOMDRAW(工具栏) 由工具栏发送以通知其父窗口有关绘制操作。 此通知代码以 WM_NOTIFY 消息的形式发送。
NM_DBLCLK(工具栏) 通知工具栏控件的父窗口,用户已在控件中双击鼠标左键。 此通知代码以 WM_NOTIFY 消息的形式发送。
NM_KEYDOWN(工具栏) 控件具有键盘焦点且用户按下某个键时由控件发送。 此通知代码以 WM_NOTIFY 消息的形式发送。
NM_LDOWN 通知工具栏的父窗口,鼠标左键已按下。 此通知代码以 WM_NOTIFY 消息的形式发送。
NM_RCLICK(工具栏) 在用户用鼠标右键单击工具栏时由工具栏控件发送。 此通知代码以 WM_NOTIFY 消息的形式发送。
NM_RDBLCLK(工具栏) 通知控件的父窗口,用户已在控件上双击鼠标右键。 此通知代码以 WM_NOTIFY 消息的形式发送。
NM_RELEASEDCAPTURE(工具栏) 通知工具栏控件的父窗口,控件正在释放鼠标捕获。 此通知代码以 WM_NOTIFY 消息的形式发送。
NM_TOOLTIPSCREATED(工具栏) 通知工具栏的父窗口,工具栏已创建工具提示控件。 此通知代码以 WM_NOTIFY 消息的形式发送。
TBN_BEGINADJUST 通知工具栏的父窗口,用户已开始自定义工具栏。 此消息代码以 WM_NOTIFY 消息的形式发送。
TBN_BEGINDRAG 通知工具栏的父窗口,用户已开始拖动工具栏中的按钮。 此通知代码以 WM_NOTIFY 消息的形式发送。
TBN_CUSTHELP 通知工具栏的父窗口,用户已在“自定义工具栏”对话框中选择了“帮助”按钮。 此通知代码以 WM_NOTIFY 消息的形式发送。
TBN_DELETINGBUTTON 在按钮即将被删除时由工具栏控件发送。
TBN_DRAGOUT 在用户单击按钮并将光标移离按钮时由工具栏控件发送。 此通知代码以 WM_NOTIFY 消息的形式发送。
TBN_DRAGOVER 确定是否要为被拖动的按钮发送 TB_MARKBUTTON 消息。 此通知代码以 WM_NOTIFY 消息的形式发送。
TBN_DROPDOWN 在用户单击下拉按钮时由工具栏控件发送。 此通知代码以 WM_NOTIFY 消息的形式发送。
TBN_DUPACCELERATOR 确定一个加速键是否可用于两个或多个活动工具栏。 此通知代码以 WM_NOTIFY 消息的形式发送。
TBN_ENDADJUST 通知工具栏的父窗口,用户已停止自定义工具栏。 此通知代码以 WM_NOTIFY 消息的形式发送。
TBN_ENDDRAG 通知工具栏的父窗口,用户已停止拖动工具栏中的按钮。 此通知代码以 WM_NOTIFY 消息的形式发送。
TBN_GETBUTTONINFO 检索工具栏自定义信息,并将对工具栏所做的任何更改通知工具栏的父窗口。 此通知代码以 WM_NOTIFY 消息的形式发送。
TBN_GETDISPINFO 检索工具栏项目的显示信息。 此通知以 WM_NOTIFY 消息的形式发送。
TBN_GETINFOTIP 检索工具栏项目的信息提示信息。 此通知代码以 WM_NOTIFY 消息的形式发送。
TBN_GETOBJECT 由工具栏控件发送,该控件使用 TBSTYLE_REGISTERDROP 样式,在指针经过其中一个按钮时请求放置目标对象。 此通知代码以 WM_NOTIFY 消息的形式发送。
TBN_HOTITEMCHANGE 在热(突出显示)项目发生变化时由工具栏控件发送。 此通知代码以 WM_NOTIFY 消息的形式发送。
TBN_INITCUSTOMIZE 通知工具栏的父窗口已开始自定义。 此通知代码以 WM_NOTIFY 消息的形式发送。
TBN_MAPACCELERATOR 请求工具栏中与指定加速键字符相对应的按钮索引。 此通知代码以 WM_NOTIFY 消息的形式发送。
TBN_QUERYDELETE 在用户自定义工具栏时,通知工具栏的父窗口是否可以从工具栏中删除按钮。 此通知代码以 WM_NOTIFY 消息的形式发送。
TBN_QUERYINSERT 在用户自定义工具栏时,通知工具栏的父窗口是否可以在指定按钮的左侧插入按钮。 此通知代码以 WM_NOTIFY 消息的形式发送。
TBN_RESET 通知工具栏的父窗口,用户已重置“自定义工具栏”对话框的内容。 此通知代码以 WM_NOTIFY 消息的形式发送。
TBN_RESTORE 通知工具栏的父窗口,工具栏正在还原。 此通知代码以 WM_NOTIFY 消息的形式发送。
TBN_SAVE 通知工具栏的父窗口,工具栏正在保存。 此通知代码以 WM_NOTIFY 消息的形式发送。
TBN_TOOLBARCHANGE 通知工具栏的父窗口,用户已自定义工具栏。 此通知代码以 WM_NOTIFY 消息的形式发送。
TBN_WRAPACCELERATOR 请求一个或多个工具栏中与指定加速键字符相对应的按钮索引。 此通知代码以 WM_NOTIFY 消息的形式发送。
TBN_WRAPHOTITEM 通知具有两个或多个工具栏的应用程序,热选项即将更改。 此通知代码以 WM_NOTIFY 消息的形式发送。

结构

主题 目录
COLORMAP 包含 CreateMappedBitmap 函数用来映射位图颜色的信息。
NMTBCUSTOMDRAW 包含工具栏控件发送的 NM_CUSTOMDRAW 通知代码的特定信息。
NMTBDISPINFO 包含并接收工具栏项目的显示信息。 此结构与 TBN_GETDISPINFO 通知代码一起使用。
NMTBGETINFOTIP 包含并接收工具栏项目的信息提示信息。 此结构与 TBN_GETINFOTIP 通知代码配合使用。
NMTBHOTITEM 包含与 TBN_HOTITEMCHANGE 通知代码一起使用的信息。
NMTBRESTORE 允许应用程序提取保存工具栏状态时防止在 NMTBSAVE 中的信息。 当应用程序收到 TBN_RESTORE 通知代码时,会将此结构传递给应用程序。
NMTBSAVE 当应用程序收到 TBN_SAVE 通知代码时,会将此结构传递给应用程序。 它包含当前正在保存的按钮的相关信息。 应用程序可以修改成员的值以保存其他信息。
NMTOOLBAR 包含用于处理工具栏通知代码的信息。 此结构取代 TBNOTIFY 结构。
TBADDBITMAP 将包含按钮图像的位图添加到工具栏中。
TBBUTTON 包含工具栏中按钮的相关信息。
TBBUTTONINFO 包含或接收工具栏中特定按钮的信息。
TBINSERTMARK 包含工具栏控件中插入标记的相关信息。
TBMETRICS 定义用于缩小或展开工具栏项目的工具栏指标。
TBREPLACEBITMAP TB_REPLACEBITMAP 消息一起使用,可将一个工具栏位图替换为另一个工具栏位图。
TBSAVEPARAMS 指定 TB_SAVERESTORE 消息存储和检索工具栏状态信息的注册表位置。

常量

主题 目录
工具栏按钮状态 本节列出了工具栏按钮可以具有的状态。
选项卡控件和按钮样式 以下是特定于工具栏的窗口样式。 在创建工具栏时,它们会与其他窗口样式组合在一起。
请注意,对于通用控件版本 6.00,如果工具栏使用了视觉样式,无论样式设置如何,按钮始终都是透明的。 否则,透明度行为是正常的,如使用 TBSTYLE_FLATTBSTYLE_TRANSPARENT 样式所指明的。 注意:Comctl32.dll 第 6 版不可再分发,但它已包含在 Windows 或更高版本中。 要使用 Comctl32.dll 版本 6,请在清单中指定它。 有关清单的详细信息,请参阅启用视觉样式
工具栏扩展样式 本节列出了工具栏控件支持的扩展样式。
工具栏标准按钮图像索引值 本节指定了标准位图中图像的索引值。