https://blog.csdn.net/deep_kang/article/details/72722692: 函數
MFC更換圖標,圖像默認爲MFC,主要步驟有三步。 ui
第一步 this
找到一張圖片(坑點:必須爲ico文件,不能單純的更名,不然會出錯,我是經過網上在線將一張jpg圖片轉換成ico文件),放置到項目所在目錄的res目錄下(個人目錄爲F:\C++\MFCApplication1\MFCApplication1\res)。 spa
第二步 .net
而後在資源視圖右擊icon文件夾,添加資源->導入->選擇剛纔的ico文件,便可自動生成資源ID,默認爲IDI_ICON1,修改ID能夠參考我另外一篇文章–MFC建立窗口菜單 3d
第三步 blog
而後將主窗口代碼中LoadIcon函數的參數更換成本身設置的ico文件的ID,點擊運行便可完成圖標的更換。 圖片
https://blog.csdn.net/songyimin1208/article/details/54580715 ip
修改左上角的圖標和任務欄裏圖標
在對話框構造函數中 資源
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改成本身的圖標便可,上面改成了IDI_ICON1,更改的圖標須要先導入或者添加進資源icon裏,將默認的mfc圖標換成本身的。
修改生成EXE文件圖標
方法一:
要更改圖標,在resource.h中打開以後能夠看到各個資源的ID值,通常mfc自動生成的IDR_MAINFRAME是128,本身添加的會大於128,順序後延,編譯時默認將ID最小的做爲exe的圖標,因此只要咱們將其改之就能夠了,仍是上面的對話框,將IDI_ICON1改成128,將IDR_MAINFRAME改成其餘的大一點的數不能太大了,由於可能會有其餘用處,而後從新rebuild,這時就能夠看到exe圖標變成了本身的IDI_ICON1的圖標了。
方法二:
1、在程序res文件夾下,刪除MFC圖標文件,加入本身的圖標文件;
2、在圖標IDR_MAINFRAME的屬性對話框中,修改File name路徑爲本身的圖標文件。
注:(1)必定要先刪除原文件,不然會把你的圖標文件覆蓋掉;
(2)完成後在資源視圖中可能發現仍是原來的MFC圖標,但編譯後exe文件的圖標已經變成本身的了。
方法三:
在.rc文件中,能夠修改默認圖標路徑來修改生成EXE文件圖標。
1 IDR_MAINFRAME ICON "res\\Test.ico"
修改後:
1 IDR_MAINFRAME ICON "res\\Test1.ico"
修改托盤中EXE文件圖標
能夠用NOTIFYICONDATA來實現。
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 }