修改MFC的图标
1. 修改主程序框架左上角圖標(biāo)
??? 1.1 不通過(guò)代碼暴力修改
對(duì)于MFC框架應(yīng)用程序我們可以不寫一行代碼把那個(gè)默認(rèn)的圖標(biāo)換掉。找一張ICO圖標(biāo),替換programname/res/programname.ico文件,這時(shí)候程序運(yùn)行后得到的圖標(biāo)可能還是原來(lái)MFC的默認(rèn)圖標(biāo),這種情況只要把工程目錄下的Debug和Release文件刪除掉,重新編譯生成就能得到更換圖標(biāo)后的程序。或者直接RebuildAll,再運(yùn)行。
當(dāng)然,在工程里操作也沒(méi)有問(wèn)題,在工作區(qū)的resorce頁(yè)中的Icon中把ID為IDR_MAIN的圖標(biāo)資源刪除,再導(dǎo)入自己制作的圖標(biāo)資源,把資源ID改為IDR_MAIN就OK。(參考)
??? 1.2 通過(guò)代碼非暴力修改
更改IDR_MainFrm指向的ico文件, 該圖標(biāo)有兩種格式,32×32和16×16,這兩種格式都要改,還可以在主框架的OnCreate函數(shù)里指定使用哪個(gè)圖標(biāo):
HICON m_hIcon;
在MainFrm的OnCreate()里
若更改應(yīng)用程序的圖標(biāo),先引入該圖標(biāo)資源,在Resource.h文件中修改該資源的ID值,必須使該資源號(hào)在ICO資源中最小,否則MFC將使用ICO資源號(hào)最小的圖標(biāo)
2.修改主程序圖標(biāo)
??? 更改應(yīng)用程序的圖標(biāo),先引入該圖標(biāo)資源,在Resource.h文件中修改該資源的ID值,必須使該資源號(hào)在ICO資源中最小,否則MFC將使用ICO資源號(hào)最小的圖標(biāo)。(參考)
方法一:
??? 要更改圖標(biāo),在resource.h中打開(kāi)之后可以看到各個(gè)資源的ID值,一般mfc自動(dòng)生成的IDR_MAINFRAME是128,自己添加的會(huì)大于 128,順序后延,編譯時(shí)默認(rèn)將ID最小的作為exe的圖標(biāo),所以只要我們將其改之就可以了,還是上面的對(duì)話框,將IDI_ICON1改為128,將 IDR_MAINFRAME改為其他的大一點(diǎn)的數(shù)不能太大了,因?yàn)榭赡軙?huì)有其他用處,然后重新rebuild,這時(shí)就可以看到exe圖標(biāo)變成了自己的 IDI_ICON1的圖標(biāo)了。
方法二:
1、在程序res文件夾下,刪除MFC圖標(biāo)文件,加入自己的圖標(biāo)文件;
2、在圖標(biāo)IDR_MAINFRAME的屬性對(duì)話框中,修改File name路徑為自己的圖標(biāo)文件。
注:(1)一定要先刪除原文件,否則會(huì)把你的圖標(biāo)文件覆蓋掉;
(2)完成后在資源視圖中可能發(fā)現(xiàn)還是原來(lái)的MFC圖標(biāo),但編譯后exe文件的圖標(biāo)已經(jīng)變成自己的了。
方法三:
??? 在.rc文件中,可以修改默認(rèn)圖標(biāo)路徑來(lái)修改生成EXE文件圖標(biāo)。
(參考)
轉(zhuǎn)載于:https://www.cnblogs.com/StephenKingME/archive/2012/11/29/2794216.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
- 上一篇: HTML5 新元素标签系列:最简版 HT
- 下一篇: 正确关闭WCF代理对象