[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这样动态更换图标也不是一件太难的事。

 

>_<:摘自 http://jingyan.baidu.com/article/4853e1e539c22c1908f72649.html




本文转自beautifulzzzz博客园博客,原文链接:http://www.cnblogs.com/zjutlitao/p/3567222.html,如需转载请自行联系原作者

相关文章
|
7月前
[MFC][bug记录]MFC移植对话框属性
[MFC][bug记录]MFC移植对话框属性
|
3月前
|
C++
MFC创建带窗口的DLL
MFC创建带窗口的DLL
15 0
|
3月前
MFC编写DLL窗口功能代码
MFC编写DLL窗口功能代码
8 0
|
3月前
MFC编程 -- 编辑框随窗口改变大小
MFC编程 -- 编辑框随窗口改变大小
10 0
|
3月前
MFC编程 -- 添加菜单
MFC编程 -- 添加菜单
10 0
|
C++
MFC程序的创建+一个简单的消息映射的实现
MFC程序的创建+一个简单的消息映射的实现
79 0
MFC程序的创建+一个简单的消息映射的实现
|
自然语言处理 C++
MFC基于对话框使用dll进行多语言切换
Qt使用qm文件切换有两种加载方式,比较容易一些
437 0
MFC基于对话框使用dll进行多语言切换
在MFC程序中添加全屏显示功能
这是工作室为实现全屏显示所发集的一个演示程序。你可以通过选择全屏显示菜单选项时看到相应的效果。这段代码包括两个内容:全屏显示,浮动工具条(用于恢复操作)。
1325 0
C++MFC编程笔记day06 MFC向导、MFC绘图类使用
 MFC绘图    MFC绘图类包括绘图设备类和绘图对象类    1 绘图设备类      CDC类-父类是CObject,封装的是一般的绘图设备,例如:显示器,            打印机等。
1279 0