1. 程式人生 > >轉:MFC中對話方塊圖示的修改

轉: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這樣動態更換圖示也不是一件太難的事。

  本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/xiaofengsheng/archive/2009/10/15/4676280.aspx