前几天一直以为我在vs08下只能一行一行的写XML代码来设计MFC中的ribbon界面了,连一个预览的界面都没有,要一行行的看菜单的层级关系,同时还要确定控件的图标,脑袋都要大了。而查到的那些资料一般都是界面很好处理的VB或者C#,08确实让MFC的Ribbon很尴尬!!
后来才在一篇文章中发现,原来08并没有纯正支持RIbbon,于是就用10了,虽然下载的BCG并不支持VS10,但是10的版本也可以设计出office2007的效果就可以了。
下面,以MFC多文档视图的ribbon界面为例,描述一下如何简洁的去做。
1. 生成一个MFC的多文档工程之后,在新建工程的步骤中选中”启用视觉样式切换“, 为的是支持ribbon的设计
2.在资源视图中就多了一个RIbbon的文件夹,双击Ribbon就可以到设计界面了,在这个菜单设计界面,所有的控件和普通的MFC控件一样都可以任意拖动使用。
3.下一步,想要为自己设计的菜单中的选项添加一个图标的话,还是要有菜单图标条的啊!因为ribbon下的菜单元素是按照类别去管理的,一个类别下只能拥有大小两个图标IDB,这就意味着它下面的子菜单中要用到的图标来自于类别的设置,具体的设置在类别的属性中。
4.制作自己的Ribbon图标:
如果你有透明的png或bmp图标资源的话,直接用图片合成软件合成就可以了,最后要记得保存为bmp格式。如果下载不到自己需要的图标,像我这样的,我这两天就P了好久好久的图标。。。
5.将自己做好的图标添加到资源中,自己修改它的IDB, 在ribbon的类别属性中,Large Image就是32*32的大图标ID了,Small Image是16*16的小图标资源。另外,大小图标在自己制作的时候也一定要按照16或32的标准像素去做。