转:MFC中对话框图标的修改

mfc中删除资源标签中的图标直接delete就可以了

很多时候我们对于MFC框架应用程式的默认图标十分不满意,所以我们来将把他换掉。

  默认的VC6.0下的MFC图标和VC2005中的MFC图标分别如下:

  很多朋友会问我怎么把图标换掉,我看很多人写很多代码,出很多错,其实对于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

  这两行代码就将应用程式的图标配置好了。到这里聪明的您应该能触类旁通了吧,其实在MFC中更换或配置图标的方式有很多种,像QQ这样动态更换图标也不是一件太难的事。

  本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/xiaofengsheng/archive/2009/10/15/4676280.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值