第4节 悬浮工具栏和文字工具栏
工具栏(CToolBar类)带有一行位图按钮和可选分隔线的控件栏,工具栏按钮ID与菜单项一样可以创建命令消息映射函数。
工具栏的创建和加载全部过程,都是在主框架中的CMainFrame::OnCreate函数中实现的。
1)在框架或者视图类的头文件中定义CToolBar类对象。
2)调用CToolBar::Create(或CreateEx)函数工具条窗口。
3)调用CToolBar::LoadToolBar来加载工具条资源。
另外一种创建和加载工具栏的过程如下。
1)定义CToolBar类对象。
2)调用CToolBar::Create(或CreateEx)函数工具条窗口。
3)调用CToolBar::LoadBitmap加载包含工具条按钮图像的位图。
4)调用CToolBar::SetButtons函数设置每个按钮的命令ID。
工具栏既可以停靠在父窗口周边,也可以悬浮在屏幕中,例如,绘图软件中的工具箱就是悬浮工具栏。打开本章第3节的“md”绘图软件工程,用于演示悬浮工具栏的开发方法。
1)将主框架工具栏的绘图相关按钮,拆分成一个单独的工具栏(IDR_TOOLBOX),如图14-18所示。

图14-18 编辑工具栏资源
2)修改主框架CMainFrame类的头文件,添加一个CToolBar类对象。

3)修改主框架类中的OnCreate函数代码,创建一个悬浮工具栏。


4)编译并运行,测试代码,如图14-19所示。
(https://www.daowen.com)
图14-19 查看运行结果
工具栏按钮不仅能带有图标,而且还可以包含文字,例如,IE工具栏。
5)继续修改主框架类的OnCreate函数,在函数末尾添加以下代码。

6)编译并运行,测试代码,如图14-20所示。

图14-20查看运行结果
7)最后一次修改主框架类的OnCreate函数,只需要在创建时添加一个工具栏风格,如图14-21所示。

图14-21 查看运行结果
8)编译并运行,测试代码(使文字在按钮右侧),如图14-22所示。

图14-22 运行
9)CToolBar::CreateEx函数的第二个参数dwCtrlStyle,用于工具栏风格设置,见表14-3。
表14-3 工具栏风格

10)CToolBar::CreateEx函数的第三个参数dwStyle,用于控制栏风格设置,见表14-4。
表14-4 控制栏风格
