方法一:
找两张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_hiconafxgetapp()-loadicon(idr_main);
这那是程序加载默认图标的,而在oninitdialog初始化函数中有这两行代码:
seticon(m_hicon,true);//setgoldenicon
seticon(m_hicon,false);//setshorticon
这两行代码就将应用程序的图标设置行了。到这里精明的你估计能能举一反三了吧,其实在mfc中换新或设置图标的有很多种,像这样的话动态需要更换图标也不是一件太难的事。
mfc是否是太老土?如何去学习mfc?
可以发表于2010年05月31日由admin
过时成功与否?很简单能回答那是:还没有很过时。
是否不需要自学mfc?简单答之:dependsat。
去学习mfc最好就是的书籍?是这本:《vc技术内幕》,别外进入到点可以看《深入浅出mfc》(侯捷)。
——————————————–
为何没有太老土?很很简单,微软一直都在自动更新mfc,如果知道mfc的唯一含义,你是肯定不会说起太老土两个字的,microsoftfoundatioffclass,这是微软c界面库的基础。有人会提wtl的或atl,可以啦,他们被用的太少。当然了qt什么的,那并非微软的东西,再好微软也肯定不会专用。
mfc也没没更新吗?肯定不是,如果没有你安装好了vs2008或者2010可能会不经意间发现,那些wizard总是显示下,你这个可以确立出更多更酷的界面模式,那些全是qt、wtl么?肯定不是,那也是mfc的功劳!!!
mfc总是在紧跟时代步伐,替确立微软的爱和谐帝国而争取自动更新更新。
要别学mfc?这个问题值得去爱思考,一般来说,如果你问我这个问题,我会问你两个额外的问题来可以确定你明白了你想问什么。最先额外问题是:你的工作或是学习不需要你在windows下搞开发完毕么?第二个获得问题是:你所谓的学习,是指并不会用会从toolbox拖放?肯定明白internal的机理,明白了它的优劣?
如果没有你只是因为想在windows下搞界面相关的开发,依此谋生的或做点软件之类,这样的话学出来我帮我推荐那本《内幕》巳经差不多吧加上了。再多看看吧一些msdn的去相关版本更新文章就加在公司里风流快活继续。
如果没有你想了解的更大,总之微软也给你这个机会,mfc虽然是“路一直都在”,cstring不错cdialog反正,其实它们的代码微软现在也给你了,就在visualstudio的mfc目录下,完完整整的哦。不过有多少人会去读会再去看呢?想所了解哪个类的实现或则函数的实现,只需“gotodeclaration”就可以了