WIN32程式中的視窗表徵圖和應用程式圖示

來源:互聯網
上載者:User

要設定表徵圖檔案分這麼幾步:首先要定義表徵圖檔案,就是32*32或16*16大小的ICO檔案。在程式的.RC檔案下進行定義:

#define IDI_APP_ICON100(表徵圖檔案的ID號)

IDI_APP_ICON
ICON “表徵圖檔案的位置”

通常表徵圖檔案我們就放到資源檔夾中。然後我們還需要在標頭檔中定義一下:IDI_APP_ICON
equ 100.

第三步在定義視窗類別結構體時裝載表徵圖檔案:

invoke LoadIcon,NULL,IDI_APP_ICON
mov wnd.hIcon,eax
mov wnd.hIconSm,eax

首先是載入表徵圖檔案,hIcon和hIconSm都是表徵圖控制代碼,前一個是用以指定大表徵圖,後一個是用以指定小表徵圖。按MSDN的說明 hIcon中設定的表徵圖是視窗左上方視窗表徵圖 , hIconSm只是個小表徵圖,但是在實際應用中movwnd.hIcon,eax這句是可有可無的,不管有沒有這句,應用程式圖示和視窗表徵圖都不受影響,反而hiconSm是不可或缺的。(目前真不懂,如果有知道的,麻煩告訴我一下謝謝)

經過上述三步,程式表徵圖就可以更改了,如果要設定視窗表徵圖還必須在視窗建立時向視窗發送WM_SETICON訊息:

.if eax==WM_INITDIALOG

; 為此視窗建立一個表徵圖

invoke LoadIcon, hInstance, IDI_WAIN_ICON
invoke SendMessage,hWnd,WM_SETICON,ICON_BIG,eax

這裡需要注意一下,如果是CreateWindowEx產生的視窗檔案,可以直接使用上述定義的表徵圖檔案變數,但是如果是CreateDialogParam建立的對話方塊,就必須重新定義一個表徵圖檔案變數,表徵圖檔案可以一樣,但是ID號和變數名要變一下。簡單一點說:視窗檔案的程式表徵圖變數和視窗表徵圖變數定義一個就行,對話方塊的必須分別定義,表徵圖檔案可以是同一個,變數名必須不同。ICON_BIG是32*32的,,ICON_SMALL是16*16

這樣程式的這兩個表徵圖就OK了。

在RadAsm中我們可以不用在.RC檔案中定義,只需要通過 工程---資源  進行添加然後在標頭檔中等值一下就行。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.