工具栏

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

综述

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

功能

主题 内容
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,请在清单中指定它。 有关清单的详细信息,请参阅 启用视觉样式
工具栏扩展样式 本部分列出了工具栏控件支持的扩展样式。
工具栏标准按钮图像索引值 本部分指定标准位图中图像的索引值。