告别图标失真的烦恼,告别图标失真的烦恼
【 tulaoshi.com - C语言心得技巧 】
告别图标失真的烦恼
作者:李晓飞
下载本文示例代码
示例代码运行效果图
自从和VC知识库认识之后我认识了不少朋友,有的象我一样走着苦苦探索的道路。其中有很多朋友问我在VC中如何保证256色以上的图标加载后不失真。根据这些提问我也曾经到各个站点上寻求答案,结果是大失所望,虽然有介绍如何实现256色以上的工具栏的文章,但是方法中大都采用加载一幅256色以上的工具栏位图的方法。这样的方法存在一个麻烦就是:有什么简便好用的制图工具来做这样的位图呢?我虽然没有尝试过去寻找这样的工具,但是我知道大家都希望有更直接的方法来使用256色以上的图标,并且保持最终的效果不失真!
所以针对以上问题我研究了MSDN,费了九牛二虎的劲最终才"修成正果",哈哈!不过有快乐得和大家一起分享,希望我的努力没有白费,好了,废话少说,咱们立刻揭开它神秘的面纱吧。
一. 建立一个单文档工程(多文档也可)。
二. 在主框架CMainFrame类的头中定义一个CImageList对象。
三. 在主框架CMainFrame类的OnCreate处理中创建CImageList对象并且向其中添加你想要的图标。
其中CImageList的创建是本工程最最关键的一步,如果写错,那你就回到原处,结果是空空如也。哈哈!
m_ilTB.Create(32, 32, TRUE | ILC_COLOR8, 4, 0); //设置ToolBar的图标列表现在对这几个参数做个详细介绍如下:
HICON hIcon = NULL;hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON1), IMAGE_ICON, 32, 32, 0);m_ilTB.Add(hIcon);好了,一切就是这么简单,如果你还不清楚的话,那就打开工程看看吧,如你有什么问题也不要忘记来信告诉我哦!最后祝大家学习愉快,多多交流,多多进步,一切顺利!
来源:http://www.tulaoshi.com/n/20160129/1484501.html