首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

從系統資源載入標準 OEM 位圖與圖示的 C++Builder 實作

     編輯:關於C++

Windows 內建一組標準 OEM 位圖(關閉、縮放、箭頭、核取方塊等)與標準圖示(應用程式、錯誤、問號、警告、資訊),可直接透過資源序數或 ID 載入使用,無需自備素材檔。

常用 OEM 位圖序數 (部分)

常數序數外觀
OBM_CLOSE32754關閉按鈕
OBM_UPARROW / DNARROW / RGARROW / LFARROW32753~32750四向箭頭
OBM_REDUCE / ZOOM / RESTORE32749~32747最小化/最大化/還原
OBM_CHECK / CHECKBOXES32760/32759核取記號/核取方塊
OBM_COMBO32738下拉式方塊按鈕

標準圖示 ID

IDI_APPLICATION (32512), IDI_HAND (32513), IDI_QUESTION (32514), IDI_EXCLAMATION (32515), IDI_ASTERISK (32516), IDI_WINLOGO (32517)

C++Builder 載入並繪製範例

void __fastcall TMainForm::Button1Click(TObject *Sender) {
    // 繪製 OEM 位圖 (32734~32763)
    for (int i = 0; i < 30; i++) {
        HBITMAP hBmp = ::LoadBitmap(NULL, MAKEINTRESOURCE(32734 + i));
        TImage *img = new TImage(this);
        img->Picture->Bitmap->Handle = hBmp;
        Canvas->Draw(9 + i * 16, 9, img->Picture->Bitmap);
        delete img;
        DeleteObject(hBmp);
    }
    // 繪製標準圖示
    for (int i = 0; i < 5; i++) {
        HICON hIco = ::LoadIcon(NULL, MAKEINTRESOURCE(32512 + i));
        TImage *img = new TImage(this);
        img->Picture->Icon->Handle = hIco;
        Canvas->Draw(10 + i * 32, 50, img->Picture->Icon);
        delete img;
        DestroyIcon(hIco); // 圖示用 DestroyIcon
    }
}

注意: LoadBitmap 取得的 HBITMAP 需配對 DeleteObject;LoadIcon 取得的 HICON 需配對 DestroyIcon。系統資源為共享唯讀,切勿修改內容。善用內建資源可減小 EXE 體積並保持系統視覺一致性。

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