VC++ MFC程序更改图标问题

运行时的图标是自己改过来的,但是不运行时的图标是MFC的图标。怎么改过来?运行时:... 运行时的图标是自己改过来的,但是不运行时的图标是MFC的图标。怎么改过来?
运行时:
展开
 我来答
百度网友5a51b92
推荐于2017-09-08 · TA获得超过2923个赞
知道答主
回答量:295
采纳率:78%
帮助的人:14.9万
展开全部
方法一:找一张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
这两行代码就将应用程序的图标设置好了。
0ahuan
2009-08-08 · TA获得超过702个赞
知道答主
回答量:510
采纳率:0%
帮助的人:312万
展开全部
告诉你一个最简单的方法,微软会自动帮你生成一个图标吧,先不要管它,然后插入一个你自己的图标,然后把微软生成的图标的名字复制下来,再删除它,将你的图标设置成微软自定义图标的名字,然后查看下32*32 与16*16两个图标是不是都是你自己的。然后编译。这时候标题栏上的图标就是你的图标了,再回到debug下,你的图标也发生改变了。此方法绝对可行,弄不出来,就是个人智商问题了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
SunnyCase
2009-08-08 · TA获得超过132个赞
知道小有建树答主
回答量:164
采纳率:0%
帮助的人:128万
展开全部
在资源编辑器里
有一个app.ico(好像)
你把它替换了就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式