CreateMappedBitmap 関数 (commctrl.h)

ツール バーで使用するビットマップを作成します。

構文

HBITMAP CreateMappedBitmap(
       HINSTANCE  hInstance,
       INT_PTR    idBitmap,
       UINT       wFlags,
  [in] LPCOLORMAP lpColorMap,
       int        iNumMaps
);

パラメーター

hInstance

種類: HINSTANCE

ビットマップ リソースを含む実行可能ファイルを使用してモジュール インスタンスを処理します。

idBitmap

種類: INT_PTR

ビットマップ リソースのリソース識別子。

wFlags

型: UINT

ビットマップ フラグ。 このパラメーターには、0 または次の値を指定できます。

意味
CMB_MASKED
ビットマップをマスクとして使用します。

[in] lpColorMap

種類: LPCOLORMAP

ビットマップのマップに必要な色情報を含む COLORMAP 構造体へのポインター。 このパラメーターが NULL の場合、関数は既定のカラー マップを使用します。

iNumMaps

型: int

lpColorMap が指すカラー マップの数。

戻り値

種類: HBITMAP

成功した場合はビットマップへのハンドルを返し、それ以外の場合は NULL を 返します。 拡張エラー情報を取得するには、 GetLastError を呼び出します。

注釈

関数は、ビットマップ リソースとカラー マッピング情報で指定されたビットマップ データと色を使用して、新しいビットマップを作成します。

この関数は、カラー マップを持つ画像に対してのみ完全にサポートされています。つまり、256 色以下の画像。

次のコード例では、リソースからビットマップを作成し、ボタンの顔のシステムカラーにマッピングすることで、黒の色を透明に表示します。

DWORD backgroundColor = GetSysColor(COLOR_BTNFACE);
COLORMAP colorMap;
colorMap.from = RGB(0, 0, 0);
colorMap.to = backgroundColor;
HBITMAP hbm = CreateMappedBitmap(g_hInst, IDB_BITMAP1, 0, &colorMap, 1);

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー commctrl.h
Library Comctl32.lib
[DLL] Comctl32.dll
API セット ext-ms-win-shell-comctl32-init-l1-1-1 (Windows 10 バージョン 10.0.14393 で導入)