常用 OEM 資源序號 (部分)
#define OBM_CLOSE 32754 // 關閉按鈕
#define OBM_UPARROW 32753 // 向上箭頭
#define OBM_DNARROW 32752 // 向下箭頭
#define OBM_RGARROW 32751 // 向右箭頭
#define OBM_LFARROW 32750 // 向左箭頭
#define OBM_REDUCE 32749 // 最小化
#define OBM_ZOOM 32748 // 最大化
#define OBM_RESTORE 32747 // 還原
#define OBM_MENUARROW 32739 // 選單箭頭
#define OBM_COMBO 32738 // 下拉框按鈕
// ... 更多見 winuser.h
標準圖示 ID
#define IDI_APPLICATION 32512 // 預設應用程式
#define IDI_HAND 32513 // 停止/錯誤 (手掌)
#define IDI_QUESTION 32514 // 問號
#define IDI_EXCLAMATION 32515 // 驚嘆號
#define IDI_ASTERISK 32516 // 資訊 (星號)
#define IDI_WINLOGO 32517 // Windows Logo
取得並繪製範例
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`/`LoadIcon` 第一參數 `NULL` 表示系統模組 (`GetModuleHandle(NULL)` 同義)。
- 位圖用 `DeleteObject`,圖示用 `DestroyIcon` 釋放。
- 繪製後立即釋放,避免 GDI 物件洩漏。