CreateCompatibleBitmap

指定されたデバイスコンテキストに関連付けられたデバイスと互換性のあるビットマップを作成します。

HBITMAP CreateCompatibleBitmap(
    HDC hDC,          // デバイスコンテキストのハンドル
    int nWitdh,       // 幅
    int nHeight       // 高さ
);

GDI32.DLL

引数

hDC

デバイスコンテキストのハンドルを指定します。このデバイスコンテキストに関連するデバイスと互換性のあるビットマップを作成します。

nWitdh, nHeight

作成するビットマップのサイズをピクセル単位で指定します。

戻り値

成功すると作成されたビットマップのハンドルが返ります。

失敗すると0 (NULL) が返ります。

Windows NT/2000/XP: 拡張エラー情報を取得するには、GetLastError関数を使います。

解説

作成されるビットマップの色形式は、hDCパラメータで指定したデバイスの色形式と一致します。このビットマップは元のデバイスと互換性のあるどのメモリデバイスコンテキストにも選択できます。

メモリデバイスコンテキストではカラービットマップとモノクロビットマップのどちらでも扱うことができるため、指定されたデバイスコンテキストがメモリデバイスコンテキストであるとき、この関数によって返されるビットマップの形式は異なります。しかし、非メモリデバイスコンテキストのために作成された互換ビットマップは常に同じ色形式を持っており、指定されたデバイスコンテキストと同じカラーパレットを使用します。

CreateCompatibleDC関数によってメモリデバイスコンテキストが作成されると、最初は1×1ピクセルのモノクロビットマップが選択された状態になっています。このデバイスコンテキストを指定してビットマップを作成すると、モノクロビットマップが作成されます、カラービットマップを作成するには、新しく作成されたデバイスコンテキストではなく、そのデバイスコンテキストを作成する際にCreateCompatibleDC関数に渡された元のデバイスコンテキストのハンドルをCreateCompatibleBitmap関数に渡すようにします。

nWitdhまたはnHeight0を指定すると、1×1ピクセルのモノクロビットマップのハンドルが返ります。

hDCパラメータで指定されたデバイスコンテキストにDIBセクションが選択されている場合、この関数は DIBセクションを作成します。

ビットマップが不要になったらDeleteObject関数で削除しなければなりません。

対応情報

Windows 95 以降 / Windows NT 3.1 以降