MFC中修改程序图标

IDR_MAINFRAME
在使用MFC时,我们经常需要修改我们得到的exe文件的图标。如:写一个随机画圆的小程序,我们就希望该程序的图标是个圆或者是和圆有关的图标。所以,在这里我就记录一下我修改图标的步骤。

 顺便提一下,我使用的是VS2015中的MFC。

从网上下载合适的图标(.icon文件);
把它放到本工程的res文件夹中;
在工程的资源视图中的Icon那加入资源,把从网上下载的图标导入,把IDR_MAINFRAME的icon删去,把自己导入的图标的ID号改为IDR_MAINFRAME;
把res文件夹中的和此工程名字一致的图标删去,把自己喜欢的图标重命名“ZSR_作业2_文字随鼠标移动”。
这样就完成图标修改啦!

MFC 的exe的图标是 icon中 ID值最小的那个。
所以 最先导入 IDR_MAINFRAME。
然后 继续导入其他的 icon图片。

也可以只修改想用的图标,只要保证value值是Icon下几个图标中最小的就可以;

创建一个MFC工程

IDR_MAINFRAME
MFC中修改程序图标_第1张图片
1
MFC中修改程序图标_第2张图片
MFC中修改程序图标_第3张图片
MFC中修改程序图标_第4张图片

MFC中修改程序图标_第5张图片
IDR_MAINFRAME
MFC中修改程序图标_第6张图片

复制一个 66.ico
MFC中修改程序图标_第7张图片
到 res目录下面
MFC中修改程序图标_第8张图片

MFC中修改程序图标_第9张图片

MFC中修改程序图标_第10张图片
MFC中修改程序图标_第11张图片
MFC中修改程序图标_第12张图片
MFC中修改程序图标_第13张图片
MFC中修改程序图标_第14张图片
2
MFC中修改程序图标_第15张图片
MFC中修改程序图标_第16张图片
IDR_MAINFRAME

MFC中对生成exe文件的图标更改方法

https://blog.csdn.net/sszgg2006/article/details/8862271

创建或打开工程Icon(以下都以工程名为Icon为例), 单击Workspace窗口的ResourceView标签,选中资源ID为IDR_MAINFRAME图标资源,然后按Delete键把它删除掉。注意:一定要把它删除才行。
从Developer Studio的Insert菜单中选择Resource,然后选择Icon,新建(New)一个新的图标或导入(Import)一个已有的图标。 把新图标的资源ID改为AFX_IDI_STD_MDIFRAME(如果是MDI应用程序)或改为AFX_IDI_STD_FRAME(如果是SDI应用程序)。AFX_IDI_STD_MDIFRAME和AFX_IDI_STD_FRAME这两个资源ID是MFC中预定义了的。 编译并运行程序,可以发现主框架窗口的图标就是你指定的图标。

另一位网友总结的方法:

VC6.0生成的exe文件图标是用Icon下几个图标中value值最小的,顺序为IDR_MAINFRAME、IDR_ICONTETYPE、新加的,所以想更改生成的exe文件图标,只要保证图标的value值是Icon下几个图标中最小的就可以了。

如果生成的exe文件不想用VC自带的MFC图标,可以进行如下操作:

方法一、最简单的方法

1、在程序res文件夹下,删除MFC图标文件,加入自己的图标文件;

2、在图标IDR_MAINFRAME的属性对话框中,修改File name路径为自己的图标文件。

注:(1)一定要先删除原文件,否则会把你的图标文件覆盖掉;

(2)完成后在资源视图中可能发现还是原来的MFC图标,但编译后exe文件的图标已经变成自己的了。

方法二:

1、在资源视图Icon下加入想用的图标;

2、修改该图标的value值,把值改为Icon下几个图标中最小的:

(1)方法一:打开Header Files下的Resource.h,找到Icon下的图标,系统默认是从128开始的,

#define IDR_MAINFRAME 128

#define IDR_ICONTETYPE 129(单/多文档程序的文档图标)
#define IDI_ICON1 130
#define IDI_ICON2 131

可以修改全部的value值,也可以只修改想用的图标,只要保证value值是Icon下几个图标中最小的就可以;

(2)方法二:在图标的属性对话框中,在ID后面加上=value,比如IDI_ICON1=127,也要保证value值是Icon下几个图标中最小的。

方法三:

1、在资源视图中删除Icon下的IDR_MAINFRAME和IDR_ICONTETYPE;

2、加入想用的图标,可以改名为IDR_MAINFRAME,也可以不改;

3、如果不改名为IDR_MAINFRAME,则在程序中要修改相应的代码:

基于对话框的程序,在构造函数中有一句

m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

记得把IDR_MAINFRAME改为你自己的图标名。

你可能感兴趣的:(MFC,mfc)