MFC更換窗口圖標


 

https://blog.csdn.net/deep_kang/article/details/72722692:

MFC更換圖標,圖像默認為MFC,主要步驟有三步。

第一步

找到一張圖片(坑點:必須為ico文件,不能單純的改名,否則會出錯,我是通過網上在線將一張jpg圖片轉換成ico文件),放置到項目所在目錄的res目錄下(我的目錄為F:\C++\MFCApplication1\MFCApplication1\res)。

第二步

然后在資源視圖右擊icon文件夾,添加資源->導入->選擇剛才的ico文件,即可自動生成資源ID,默認為IDI_ICON1,修改ID可以參考我另一篇文章MFC創建窗口菜單

第三步

然后將主窗口代碼中LoadIcon函數的參數更換成自己設置的ico文件的ID,點擊運行即可完成圖標的更換。

https://blog.csdn.net/songyimin1208/article/details/54580715

修改左上角的圖標和任務欄里圖標

   
在對話框構造函數中

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_MAINFRAME128,自己添加的會大於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     }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM