首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

MFC DrawIcon 無法顯示自訂圖標:圖片資源格式與載入方式檢查

     編輯:程式設計綜合問答

問題描述

MFC 中使用 DrawIcon 顯示系統自帶圖標沒問題,但載入自行匯入的 256 色 ICO 圖像時無法顯示,且無錯誤訊息。

程式碼範例

HDC hdc = GetDC()->m_hDC;
HICON hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDB_BITMAP4));
DrawIcon(hdc, 0, 0, hIcon);

錯誤原因

  • LoadIcon 用於載入圖標資源(ICON),而 IDB_BITMAP4 是點陣圖資源(BITMAP),兩者不相容。
  • 若要顯示自訂圖標,應在資源檔中定義為 ICON 類型,並使用對應的 IDI_* 識別碼。
  • 建議使用 Visual C++ 自帶的圖標編輯器建立 ICO 檔案,確保格式相容。

正確做法

HICON hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MYICON));
DrawIcon(hdc, 0, 0, hIcon);



  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved