VC++开发GIS系统(12)Ribbon添加图标

在之前的文章中,我大体介绍了Ribbon界面,以及添加了按钮改变了标题,但界面还是那个样子,没有Ribbon应该有的高大上。本文将介绍另外一个实用的内容:在给Ribbon按钮添加图标。效果大约是这个样子:

2015-05-11_234035.jpg (603×435)

在输入点的地方有了一个图标,具体方法如下:

1.画一个图标

这个就不多说了,为了这事可把我整惨了,没有设计的细胞,好不容易画了一个就是上图的样子。可以去百度找一张图片或者去PS好的自己P,格式选择bmp即可。

2.添加资源

切换到资源视图,右击->选择添加资源,然后选择导入

添加资源

导入

在弹出的对话框中选择刚刚找到的文件,可能文件会不显示,要设置成显示所有文件。如图:

找到文件

导入之后,为了方便,建议给图标命名一个ID。

3.添加到按钮上

这是最关键的一步了,其实也很简单,主要更改两个属性。首先是tab的属性,如图:

tab属性

这里用来设置这个tab之下的所有位图,通常情况是把所有按钮的图片放在一起,做成一个图片序列,可以用IconWorkshop之类的软件来完成。这里有两个参数要设置,一个是Large Images,一个是Small Images,分别设置为刚刚导入的图片id(本文只导入了大图)。

设置之后就需要给每个按钮分配图标了,也就是第二个属性的设置。如图:

按钮属性

这个有两个index,先说明下这个序号,如之前据说,如果是一个图片序列分为2种,一种是16*16的图片序列,一种是32*32的图片序列,前者是多张16*16的图片放在一起,后者是多张32*32的图片放在一起,并且第一张图的index为0,为了方便,做了一张示意图:

图片序列

搞明白了这个概念,就可以设置图标了,如果是设置大图标,就把Image Index设置为-1,Large Image Index设置为相应的index,小图标相反。

4.重新编译

重新编译,运行就可以看到效果了。什么?你的没有?可以清理下,然后重新生成即可。

5.相关说明

因为本文是从0开发,这个工作一般是在最后才去统一处理的,可能有些地方有点含糊,有不明白的地方可以参考本文推荐的文章。在这个程序开发到后面,我会专门写一个教程来做这个工作,包括做透明图标等等。PS:MFC做界面想做的好看还真是麻烦!

参考:Ribbon界面开发:为Ribbon Bar添加控件

VC++开发GIS系统(11)更改MFC窗口标题 MapGIS67配置初始化方法

作者:,GIS爱好者。
分享本文,请您带上本文链接
分享到:

发表评论