VC: 更改MFC程序图标
2015-07-27 16:59
447 查看
很多时候我们对于MFC框架应用程序的默认图标十分不满意,所以我们来将把它换掉。
默认的VC6.0下的MFC图标和VC2005中的MFC图标分别如下:
很多朋友会问我怎么把图标换掉,我看很多人写很多代码,出很多错,其实对于MFC框架应用程序我们可以不写一行代码把那个默认的图标换掉。找一张ICO图标,替换programname/res/programname.ico文件,就可以啦,这时候你运行后得到的图标可能还是原来MFC的默认图标,这时候你只要把工程目录下的Debug和Release文件删除掉,重新编译生成就能得到更换图标后的程序。或者直接RebuildAll,再运行,怎么样很简单吧。
当然,你如果你在你的工程里操作也没有问题,在工作区的resorce页中的Icon中把ID为IDR_MAIN的图标资源删除,再导入自己制作的图标资源,把资源ID改为IDR_MAIN就OK啦。
上面这个的工作十分简单,但是如果要在程序中写代码改变我们应用程序的图标,比如有时候我们要在程序中动态改变程序的标题栏、任务栏图标或是托盘的图标,那就要花点功夫了。其实也不是很难,主要用几个函数搞定,如果是MFC主要就是 LoadIcon和 SetIcon。
比如我们在OnInitDialog或是OnCreate中加入:
AfxGetApp()->LoadIcon(IDI_ICON1);
SetIcon(ico,true);
SetIcon(ico,false);
另外你可能要问,MFC程序默认是怎么加载它的图标的,其实很简单,在主对话框的构造函数中有这样一句:
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAIN);
这就是加载默认图标的,而在OnInitDialog初始化函数中有这两行代码:
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
这两行代码就将应用程序的图标设置好了。到这里聪明的你应该能触类旁通了吧,其实在MFC中更换或设置图标的方式有很多种,像QQ这样动态更换图标也不是一件太难的事。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xiaofengsheng/archive/2009/10/15/4676280.aspx
=================================================================================================================
程序猿和程序媛必备的咖啡-OneDay咖啡生活-https://shop110384469.taobao.com/
默认的VC6.0下的MFC图标和VC2005中的MFC图标分别如下:
很多朋友会问我怎么把图标换掉,我看很多人写很多代码,出很多错,其实对于MFC框架应用程序我们可以不写一行代码把那个默认的图标换掉。找一张ICO图标,替换programname/res/programname.ico文件,就可以啦,这时候你运行后得到的图标可能还是原来MFC的默认图标,这时候你只要把工程目录下的Debug和Release文件删除掉,重新编译生成就能得到更换图标后的程序。或者直接RebuildAll,再运行,怎么样很简单吧。
当然,你如果你在你的工程里操作也没有问题,在工作区的resorce页中的Icon中把ID为IDR_MAIN的图标资源删除,再导入自己制作的图标资源,把资源ID改为IDR_MAIN就OK啦。
上面这个的工作十分简单,但是如果要在程序中写代码改变我们应用程序的图标,比如有时候我们要在程序中动态改变程序的标题栏、任务栏图标或是托盘的图标,那就要花点功夫了。其实也不是很难,主要用几个函数搞定,如果是MFC主要就是 LoadIcon和 SetIcon。
比如我们在OnInitDialog或是OnCreate中加入:
AfxGetApp()->LoadIcon(IDI_ICON1);
SetIcon(ico,true);
SetIcon(ico,false);
另外你可能要问,MFC程序默认是怎么加载它的图标的,其实很简单,在主对话框的构造函数中有这样一句:
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAIN);
这就是加载默认图标的,而在OnInitDialog初始化函数中有这两行代码:
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
这两行代码就将应用程序的图标设置好了。到这里聪明的你应该能触类旁通了吧,其实在MFC中更换或设置图标的方式有很多种,像QQ这样动态更换图标也不是一件太难的事。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xiaofengsheng/archive/2009/10/15/4676280.aspx
=================================================================================================================
程序猿和程序媛必备的咖啡-OneDay咖啡生活-https://shop110384469.taobao.com/
相关文章推荐
- VC++ 中ListCtrl经验总结
- VC++实现程序开机启动运行的方法
- VC++中HTControl控件类的CHTSlider控制杆控件类简介
- VC++中HTControl控制类使用之CHTDlgBase对话框基类实例
- Vc++ 控件List Control用法总结
- MFC控件大小随窗体大小而改变
- VC++的if语句应用范围分析
- VC++在TXT文件指定位置追加内容的方法
- VC++植物大战僵尸中文版修改器实现代码
- CISBitmap派生的VC++位图透明类实例
- VC++创建msi文件的方法
- VC++的combobox控件用法汇总
- VC++中内存对齐实例教程
- VC++实现通过API来查看程序错误信息的方法
- VC++进度条process Bar的用法实例
- VC++操作SQLite简单实例
- 浅谈VC++中的内联
- VC++实现CStdioFile写入及读取文件并自动换行的方法
- VC++基于Dx实现的截图程序示例代码
- VC++实现输出GIF到窗体并显示GIF动画的方法