MFC更换窗口图标
?
https://blog.csdn.net/deep_kang/article/details/72722692:
MFC更換圖標(biāo),圖像默認(rèn)為MFC,主要步驟有三步。
第一步
找到一張圖片(坑點(diǎn):必須為ico文件,不能單純的改名,否則會(huì)出錯(cuò),我是通過網(wǎng)上在線將一張jpg圖片轉(zhuǎn)換成ico文件),放置到項(xiàng)目所在目錄的res目錄下(我的目錄為F:\C++\MFCApplication1\MFCApplication1\res)。
第二步
然后在資源視圖右擊icon文件夾,添加資源->導(dǎo)入->選擇剛才的ico文件,即可自動(dòng)生成資源ID,默認(rèn)為IDI_ICON1,修改ID可以參考我另一篇文章–MFC創(chuàng)建窗口菜單
第三步
然后將主窗口代碼中LoadIcon函數(shù)的參數(shù)更換成自己設(shè)置的ico文件的ID,點(diǎn)擊運(yùn)行即可完成圖標(biāo)的更換。
https://blog.csdn.net/songyimin1208/article/details/54580715
修改左上角的圖標(biāo)和任務(wù)欄里圖標(biāo)
??? 在對(duì)話框構(gòu)造函數(shù)中
1?CTestDlg::CTestDlg(CWnd*?pParent?/*=NULL*/)
2?????:?CDialog(CTestDlg::IDD,?pParent)
3?{
4?????m_hIcon?=?AfxGetApp()->LoadIcon(IDR_MAINFRAME);
5?}
??? 改過后:
1?CTestDlg::CTestDlg(CWnd*?pParent?/*=NULL*/)
2?????:?CDialog(CTestDlg::IDD,?pParent)
3?{
4?????m_hIcon?=?AfxGetApp()->LoadIcon(IDI_ICON1);
5?}
??? 將最后的IDR_MAINFRAME改為自己的圖標(biāo)即可,上面改為了IDI_ICON1,更改的圖標(biāo)需要先導(dǎo)入或者添加進(jìn)資源icon里,將默認(rèn)的mfc圖標(biāo)換成自己的。
修改生成EXE文件圖標(biāo)
方法一:
??? 要更改圖標(biāo),在resource.h中打開之后可以看到各個(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)還是原來的MFC圖標(biāo),但編譯后exe文件的圖標(biāo)已經(jīng)變成自己的了。
方法三:
??? 在.rc文件中,可以修改默認(rèn)圖標(biāo)路徑來修改生成EXE文件圖標(biāo)。
1?IDR_MAINFRAME???????????ICON????????????????????"res\\Test.ico"
??? 修改后:
1?IDR_MAINFRAME???????????ICON????????????????????"res\\Test1.ico"
修改托盤中EXE文件圖標(biāo)
可以用NOTIFYICONDATA來實(shí)現(xiàn)。
?1???????NOTIFYICONDATA?_tnd;
?2?????_tnd.cbSize=sizeof(NOTIFYICONDATA);
?3?????_tnd.hWnd??=?this->GetSafeHwnd();
?4?????_tnd.uID??????????????=?0;
?5?????_tnd.uFlags??????????????=?NIF_MESSAGE?|?NIF_ICON?|?NIF_TIP?|?NIF_INFO;
?6?????_tnd.dwInfoFlags??????=?NIIF_INFO;?//?add?an?icon?to?a?balloon?ToolTip
?7?????_tnd.uTimeout?=?uTimeout;
?8?
?9?????CString?sStatusMsg?=?szMsg;
10?
11?????if?("修改條件")
12?????{
13?????????_tnd.hIcon?=?theApp.LoadIcon(IDI_SUCCESSLOGIN);
14?????}
?
轉(zhuǎn)載于:https://www.cnblogs.com/time-is-life/p/9572847.html
總結(jié)
- 上一篇: 邮局汇款流程
- 下一篇: webpack的build的时候时间长处