MFC 工具栏实现
工具栏是包含控件位图图像的控件条。 这些图像的作用类似于按键、复选框或单选按钮。 MFC 提供用于管理工具栏的 CToolbar 类。
如果你启用了它,MFC 工具栏的用户可以将它们停靠在窗口的边缘,或者使其“浮动”在应用程序窗口的任何位置。 MFC 不支持可自定义工具栏,如开发环境中的工具栏。
MFC 还支持工具提示:当你把鼠标悬停在工具栏按钮上时,会弹出描述该按钮用途的小型弹出窗口。 默认情况下,当用户按下工具栏按钮时,状态栏中会显示状态字符串(如果有)。 你可以激活“越过”状态栏更新以在鼠标悬停在按钮上而不按下按钮时显示状态字符串。
注意
从 MFC 4.0 版开始,使用 Windows 95 及更高版本功能实现工具栏和工具提示,而不是之前的特定于 MFC 的实现。
为了向后兼容,MFC 会在 COldToolBar
类中保留旧版工具栏实现。 早期版本的 MFC 的文档在 CToolBar
下描述了 COldToolBar
。
通过在应用程序向导中选择工具栏选项,在程序中创建第一个工具栏。 你还可以创建其他工具栏。
本文介绍以下内容:
工具栏按钮
工具栏中的按钮类似于菜单中的项。 这两种类型的用户界面对象都生成命令,程序通过提供处理程序函数来处理这些命令。 通常,工具栏按钮复制菜单命令的功能,为相同的功能提供替代用户界面。 只需为按钮和菜单项提供相同的 ID 即可设置此类重复。
你可以使工具栏中的按钮以按键、复选框或单选按钮的形式出现并发挥对应作用。 有关详细信息,请参阅 CToolBar。
停靠和浮动工具栏
MFC 工具栏可以:
可以沿其父窗口的一侧保持静止。
由用户拖动并选择“停靠”或附加到你指定的父窗口的任何一侧或多侧。
在自己的微型框窗口中“浮动”或从框架窗口拆离,以便用户可以将其移动到任何方便的位置。
在浮动时调整大小。
有关详细信息,请参阅文章停靠和浮动工具栏。
工具栏和工具提示
还可以使用 MFC 工具栏来显示“工具提示”-小型弹出窗口,其中包含工具栏按钮用途的简短文本说明。 当用户将鼠标移到工具栏的按钮上方时,工具提示窗口弹出以提供提示。 有关详细信息,请参阅工具栏工具提示一文。
CToolBar 和 CToolBarCtrl 类
通过 CToolBar 类管理应用程序的工具栏。 从 MFC 4.0 版开始,已重新实现 CToolBar
以使用 Windows 95 或更高版本和 Windows NT 3.51 或更高版本下可用的工具栏公共控件。
此重新实现会导致工具栏 MFC 代码减少,因为 MFC 使用操作系统支持。 重新实现还增强了功能。 可使用 CToolBar
成员函数操作工具栏,也可以获取对基础 CToolBarCtrl 对象的引用,并调用其成员函数实现工具栏自定义和其他功能。
提示
如果你已经在 CToolBar
的旧版 MFC 实现中投入了大量工作,而这种支持仍然可用。 请参阅使用旧工具栏一文。
另请参阅 MFC 常规示例 DOCKTOOL。
工具栏位图
构造完成后,CToolBar
对象通过加载一个位图(包含每个按钮对应的图像)来创建工具栏图像。 应用程序向导创建一个标准工具栏位图,你可以使用 Visual C++ 工具栏编辑器进行自定义。