首页 理论教育VC++MFC视频教程:IE工具栏开发方法

VC++MFC视频教程:IE工具栏开发方法

【摘要】:IE工具栏不但按钮可以包含图标和文字,而且还有一些按钮包含下拉菜单,例如,“后退” 和“前进”按钮。打开第12章建立的“sp”分隔栏工程,用于演示IE工具栏的开发方法。1)修改IDR_MAINFRAME工具栏,删除原有工具按钮并新增一些按钮,如图14-23所示。图14-25 查看运行结果工具栏按钮图标的颜色丢失严重很难看,因此,要先加载位图到CBitmap对象中后,再将位图设置到工具栏中。15)编译并运行,测试代码,这就是IE工具栏,如图14-31所示。

IE工具栏不但按钮可以包含图标和文字,而且还有一些按钮包含下拉菜单,例如,“后退” 和“前进”按钮。打开第12章建立的“sp”分隔栏工程,用于演示IE工具栏的开发方法。

1)修改IDR_MAINFRAME工具栏,删除原有工具按钮并新增一些按钮,如图14-23所示。

978-7-111-46378-8-Chapter14-43.jpg

图14-23 编辑工具栏资源

2)修改工具栏按钮的ID和提示,见表14-5。

表14-5 工具栏按钮属性

978-7-111-46378-8-Chapter14-44.jpg

3)修改主框架类中的构造 函数,初始化成员变量

978-7-111-46378-8-Chapter14-45.jpg

4)修改CMainFrame::OnCmdMsg函数,使工具栏和菜单命令可以分发到左右视图类中。

978-7-111-46378-8-Chapter14-46.jpg

5)通过类向导,在CRightView类中为所有工具栏按钮添加消息映射函数,如图14-24所示。

978-7-111-46378-8-Chapter14-47.jpg

图14-24 添加工具栏按钮的消息映射函数

6)编译并运行,测试程序,如图14-25所示。

978-7-111-46378-8-Chapter14-48.jpg

图14-25 查看运行结果

工具栏按钮图标的颜色丢失严重很难看,因此,要先加载位图到CBitmap对象中后,再将位图设置到工具栏中。通过画笔等绘图工具,编辑高宽为16×15真彩色的工具栏图片。

7)把真彩色图片保存为“ToolBmp.bmp”,并复制到工程目录的“res”子目录中,如图14-26所示。

8)在资源视图中树形控件的根节点上单击鼠标右键,在弹出的快捷菜单中,选择“Import”命令,如图14-27所示。

978-7-111-46378-8-Chapter14-49.jpg

图14-26 工具栏位图

978-7-111-46378-8-Chapter14-50.jpg

图14-27 导入资源

9)导入真彩色图片“ToolBmp.bmp”,如图14-28所示。

10)导入位图的默认ID是IDB_BITMAP1,如图14-29所示。

978-7-111-46378-8-Chapter14-51.jpg

图14-28 导入位图资源

978-7-111-46378-8-Chapter14-52.jpg

图14-29 导入后的位图资源(www.chuimin.cn)

11)在CMainFrame类中添加一个CBitmap成员变量,用来加载彩色位图。

978-7-111-46378-8-Chapter14-53.jpg

12)修改CMainFrame::OnCreate函数的代码。

978-7-111-46378-8-Chapter14-54.jpg

978-7-111-46378-8-Chapter14-55.jpg

13)编译并运行,测试程序。加载真彩色图片后,工具栏好看多了,如图14-30所示。

978-7-111-46378-8-Chapter14-56.jpg

图14-30 查看运行结果

14)继续修改CMainFrame::OnCreate函数的代码,在函数末尾追加以下代码。

978-7-111-46378-8-Chapter14-57.jpg

978-7-111-46378-8-Chapter14-58.jpg

15)编译并运行,测试代码,这就是IE工具栏,如图14-31所示。

978-7-111-46378-8-Chapter14-59.jpg

图14-31 查看运行结果

16)在资源视图中添加一个菜单资源,用于单击“查看”按钮时弹出下拉菜单,如图14-32所示。

978-7-111-46378-8-Chapter14-60.jpg

图14-32 编辑菜单资源

17)菜单项的ID和文字,见表14-6。

表14-6 菜单项属性

978-7-111-46378-8-Chapter14-61.jpg

18)在CMainFrame类中添加一个私有成员函数,用于处理在单击工具栏下拉按钮时弹出菜单。

978-7-111-46378-8-Chapter14-62.jpg

19)在消息映射列表中,添加单击工具栏下拉菜单的消息映射,如图14-33所示。

978-7-111-46378-8-Chapter14-63.jpg

图14-33 添加消息映射函数的关联代码

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

978-7-111-46378-8-Chapter14-64.jpg

图14-34 查看运行结果