如何修改MFC 程序左上角的图标??急!!!!!!!!!!!!

时间:2020-12-20 20:01:22
 我用VS2008编写MFC程序,我不要系统默认的图标,但不知道怎么修改主对话框左上角的图标?来这请教各位高手了!希望能给出具体的方法而不只是告诉我某个函数。(系统默认的是.ico的图标,我导入了.bmp格式的图标,想把它换成我自己的。)

23 个解决方案

#1


SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon

图标就是ICO,BMP是位图

#2


*.ico 表示图标文件
-------------------
找到你的工程的 .ico 文件  随便改下名字
在当前文件夹 添加你自己要改的 .ico 文件进去  改名为工程名  重新编译下

#3


修改资源就可以了

#4


引用 3 楼 zhanji 的回复:
修改资源就可以了

我修改了也不行啊,它默认的是res\\Port.ico ,我修改成我自己的,res\\Port.bmp ,对应的ID我也修改了,还是不行啊

#5


引用 1 楼 cranium 的回复:
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon

图标就是ICO,BMP是位图


系统默认的就是这个啊,能解释详细点吗?

#6


vs打开,修改下资源就可以了

#7


引用 6 楼 cyblueboy83 的回复:
vs打开,修改下资源就可以了


请问要修改哪些地方?我修改过了,不行。谢谢!!

#8


麻烦楼下的大虾们给出具体的操作步骤,或要具体要修改的地方,要不我也不知道修改什么地方啊,麻烦了!!!

#9


在 资源视图 中 点开你工程的??.rc树, 应该有一个Icon,里面有一个IDI_ICON1,删除它在添加一个同名的。

#10


找到你的工程所在文件夹,里面有个叫 res 的文件夹。这个文件夹里有个.ico文件。把你的图标替换掉这个文件就行了。
这是最最简单的方法了

#11


引用 9 楼 zhanji 的回复:
在 资源视图 中 点开你工程的??.rc树, 应该有一个Icon,里面有一个IDI_ICON1,删除它在添加一个同名的。

我的是.bmp 格式的,我试一下

#12


引用 10 楼 luciferisnotsatan 的回复:
找到你的工程所在文件夹,里面有个叫 res 的文件夹。这个文件夹里有个.ico文件。把你的图标替换掉这个文件就行了。
这是最最简单的方法了


我试一下

#13


Res\\*.ico

bmp 貌似是不行的

#14


引用 13 楼 mouse_xie 的回复:
Res\\*.ico

bmp 貌似是不行的

怎么解决呢?

#15


找个.ICO的文件替换Res\*.ico文件,重新编译即可

引用 14 楼 gufeijunchi 的回复:
引用 13 楼 mouse_xie 的回复:

Res\\*.ico

bmp 貌似是不行的

怎么解决呢?

#16


替换时主要要修改文件名字同原来的相同
引用 15 楼 mouse_xie 的回复:
找个.ICO的文件替换Res\*.ico文件,重新编译即可

引用 14 楼 gufeijunchi 的回复:

引用 13 楼 mouse_xie 的回复:

Res\\*.ico

bmp 貌似是不行的

怎么解决呢?

#17


引用 16 楼 mouse_xie 的回复:
替换时主要要修改文件名字同原来的相同
引用 15 楼 mouse_xie 的回复:

找个.ICO的文件替换Res\*.ico文件,重新编译即可

引用 14 楼 gufeijunchi 的回复:

引用 13 楼 mouse_xie 的回复:

Res\\*.ico

bmp 貌似是不行的

怎么解决呢?

系统的是.ico,我想换成.bmp的,这样好像不行啊?

#18


引用 5 楼 gufeijunchi 的回复:
引用 1 楼 cranium 的回复:

SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon

图标就是ICO,BMP是位图


系统默认的就是这个啊,能解释详细点吗?


其实前3楼已经在不同的点上给出了实现方式。

把一个ICO设置为窗口图标,其实关键有三个地方,一是ICO文件(可以添加为程序资源),二是ICO添加为资源后的资源ID,三就是在程序启动是SetIcon。

2楼说的方式就是替换磁盘资源文件,名字什么的还是修改成原先的ICO名称,具体的看res文件夹就知道了。对应上面的一。

3楼的方法是直接修改程序资源,使用资源编辑器修改,自己画个ICO也可以。(我没理解错误吧?)对应上面的二。

我说的方法就是在第三步,自己取得HICON句柄,可以是资源获得的,也可以是动态加载的,然后调用SetIcon。前面2位的方法都不需要更改这里,是应为他们都没有去动资源的ID值,所以程序在SetIcon时的id还是引用到他们修改的ICO上。

#19


引用 18 楼 cranium 的回复:
引用 5 楼 gufeijunchi 的回复:

引用 1 楼 cranium 的回复:

SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon

图标就是ICO,BMP是位图


系统默认的就是这个啊,能解释详细点吗?


其实前3楼已经在不同的点上给……

谢谢你的建议,我知道,但是我要换的图片是.bmp格式的,不是.ico图标,所以换或者覆盖式不行的,我试过了。

#20


引用 19 楼 gufeijunchi 的回复:
谢谢你的建议,我知道,但是我要换的图片是.bmp格式的,不是.ico图标,所以换或者覆盖式不行的,我试过了。


我们一直说的都是ICO,对于BMP做窗口图标我实在是孤陋寡闻了,GOOGLE了下也没有找到对应的信息。

如果你执意要用BMP做窗口图标的话,我想你只有自己去重绘标题栏了。

否则的话就规规矩矩的使用ICO(图标)。

#21


VC自带有图标编辑器吧,把位图的图案复制到图标编辑器里面,就能办到bmp到ico的转换吧

#22


引用 13 楼 mouse_xie 的回复:
Res\\*.ico

bmp 貌似是不行的

头像是绝配

#23


网上有制作图标的工具 下载一个 就可以把各种图片转换成ICO了

#1


SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon

图标就是ICO,BMP是位图

#2


*.ico 表示图标文件
-------------------
找到你的工程的 .ico 文件  随便改下名字
在当前文件夹 添加你自己要改的 .ico 文件进去  改名为工程名  重新编译下

#3


修改资源就可以了

#4


引用 3 楼 zhanji 的回复:
修改资源就可以了

我修改了也不行啊,它默认的是res\\Port.ico ,我修改成我自己的,res\\Port.bmp ,对应的ID我也修改了,还是不行啊

#5


引用 1 楼 cranium 的回复:
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon

图标就是ICO,BMP是位图


系统默认的就是这个啊,能解释详细点吗?

#6


vs打开,修改下资源就可以了

#7


引用 6 楼 cyblueboy83 的回复:
vs打开,修改下资源就可以了


请问要修改哪些地方?我修改过了,不行。谢谢!!

#8


麻烦楼下的大虾们给出具体的操作步骤,或要具体要修改的地方,要不我也不知道修改什么地方啊,麻烦了!!!

#9


在 资源视图 中 点开你工程的??.rc树, 应该有一个Icon,里面有一个IDI_ICON1,删除它在添加一个同名的。

#10


找到你的工程所在文件夹,里面有个叫 res 的文件夹。这个文件夹里有个.ico文件。把你的图标替换掉这个文件就行了。
这是最最简单的方法了

#11


引用 9 楼 zhanji 的回复:
在 资源视图 中 点开你工程的??.rc树, 应该有一个Icon,里面有一个IDI_ICON1,删除它在添加一个同名的。

我的是.bmp 格式的,我试一下

#12


引用 10 楼 luciferisnotsatan 的回复:
找到你的工程所在文件夹,里面有个叫 res 的文件夹。这个文件夹里有个.ico文件。把你的图标替换掉这个文件就行了。
这是最最简单的方法了


我试一下

#13


Res\\*.ico

bmp 貌似是不行的

#14


引用 13 楼 mouse_xie 的回复:
Res\\*.ico

bmp 貌似是不行的

怎么解决呢?

#15


找个.ICO的文件替换Res\*.ico文件,重新编译即可

引用 14 楼 gufeijunchi 的回复:
引用 13 楼 mouse_xie 的回复:

Res\\*.ico

bmp 貌似是不行的

怎么解决呢?

#16


替换时主要要修改文件名字同原来的相同
引用 15 楼 mouse_xie 的回复:
找个.ICO的文件替换Res\*.ico文件,重新编译即可

引用 14 楼 gufeijunchi 的回复:

引用 13 楼 mouse_xie 的回复:

Res\\*.ico

bmp 貌似是不行的

怎么解决呢?

#17


引用 16 楼 mouse_xie 的回复:
替换时主要要修改文件名字同原来的相同
引用 15 楼 mouse_xie 的回复:

找个.ICO的文件替换Res\*.ico文件,重新编译即可

引用 14 楼 gufeijunchi 的回复:

引用 13 楼 mouse_xie 的回复:

Res\\*.ico

bmp 貌似是不行的

怎么解决呢?

系统的是.ico,我想换成.bmp的,这样好像不行啊?

#18


引用 5 楼 gufeijunchi 的回复:
引用 1 楼 cranium 的回复:

SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon

图标就是ICO,BMP是位图


系统默认的就是这个啊,能解释详细点吗?


其实前3楼已经在不同的点上给出了实现方式。

把一个ICO设置为窗口图标,其实关键有三个地方,一是ICO文件(可以添加为程序资源),二是ICO添加为资源后的资源ID,三就是在程序启动是SetIcon。

2楼说的方式就是替换磁盘资源文件,名字什么的还是修改成原先的ICO名称,具体的看res文件夹就知道了。对应上面的一。

3楼的方法是直接修改程序资源,使用资源编辑器修改,自己画个ICO也可以。(我没理解错误吧?)对应上面的二。

我说的方法就是在第三步,自己取得HICON句柄,可以是资源获得的,也可以是动态加载的,然后调用SetIcon。前面2位的方法都不需要更改这里,是应为他们都没有去动资源的ID值,所以程序在SetIcon时的id还是引用到他们修改的ICO上。

#19


引用 18 楼 cranium 的回复:
引用 5 楼 gufeijunchi 的回复:

引用 1 楼 cranium 的回复:

SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon

图标就是ICO,BMP是位图


系统默认的就是这个啊,能解释详细点吗?


其实前3楼已经在不同的点上给……

谢谢你的建议,我知道,但是我要换的图片是.bmp格式的,不是.ico图标,所以换或者覆盖式不行的,我试过了。

#20


引用 19 楼 gufeijunchi 的回复:
谢谢你的建议,我知道,但是我要换的图片是.bmp格式的,不是.ico图标,所以换或者覆盖式不行的,我试过了。


我们一直说的都是ICO,对于BMP做窗口图标我实在是孤陋寡闻了,GOOGLE了下也没有找到对应的信息。

如果你执意要用BMP做窗口图标的话,我想你只有自己去重绘标题栏了。

否则的话就规规矩矩的使用ICO(图标)。

#21


VC自带有图标编辑器吧,把位图的图案复制到图标编辑器里面,就能办到bmp到ico的转换吧

#22


引用 13 楼 mouse_xie 的回复:
Res\\*.ico

bmp 貌似是不行的

头像是绝配

#23


网上有制作图标的工具 下载一个 就可以把各种图片转换成ICO了