中易网

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

答案:3  悬赏:80  
解决时间 2021-01-29 12:11
VC++ 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
这两行代码就将应用程序的图标设置好了。
全部回答
在资源编辑器里
有一个app.ico(好像)
你把它替换了就行了
告诉你一个最简单的方法,微软会自动帮你生成一个图标吧,先不要管它,然后插入一个你自己的图标,然后把微软生成的图标的名字复制下来,再删除它,将你的图标设置成微软自定义图标的名字,然后查看下32*32 与16*16两个图标是不是都是你自己的。然后编译。这时候标题栏上的图标就是你的图标了,再回到debug下,你的图标也发生改变了。此方法绝对可行,弄不出来,就是个人智商问题了。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
Android能用纯C/C++开发吗?
英语0分和100分哪个更难考
免维护轴承真的可以免维护吗?技术上有什么特
钢绞线长度重量的换算 如:1×19-2.0 1M= 多
以说服为主题,两人为单位进行一个短剧情的演
去工商局上班。?
刚买的电风扇,用了一会后面发动机盖子上发烫
说唱跟DJ那样最有前途???
单词里面含有[g]的单词
为什么会突然厌食乏力
在成都绵秀路坐公交车到盛帮街坐几路车
危运资格证和押运证在哪办
“此中有真意,欲辩已忘言”是什么意思
为何佳能IR2420的复印机原装鼓组件用了2年就
天汇电玩城地址在什么地方,想过去办事
推荐资讯
晋平公与群臣饮中师旷的性格
梦幻 129MW和力DF的选择
如果男朋友让我去他的城市找他 以前他都抽空
长年在外好累,想找一个临时妻子
拳皇MUGEN。
途安自动挡的车怎么开,准备买车。我是新手,
“男朋友”的英文怎么写?
奔驰C级和雷克萨斯ES哪个好
我是电信卡,想用三星N0TE4三网通双卡双待的
合同什么条件下对第三人的约束力
有人因为演员演的角色而讨厌这个演员么
什么是公文的版心?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?