別のビットマップを作成したい場合は、
この関数を何度も使用しCreateCompatibleBitmap
て、同じメモリ CDC に関連付けます。
CreateBitmap
I and SelectObject
again and againと同じ意味ですか??
別の CDC によって新しく作成されたビットマップに何かをしたいので、この質問をします。
特定のコードを見ないと正確な問題を知ることは困難ですが、CreateCompatibleBitmap は通常、ちらつきを避けるためにダブル バッファリングの状況で使用されます。デバイス コンテキスト (DC) に直接描画するのではなく、基本的にビットマップに描画するオフスクリーンまたはメモリ DC に最初に描画します。ビットマップは、BitBlt を使用して画面 DC に直接コピーされるため、すべての描画が同時に行われるように見えます。
通常の手順は次のとおりです (おそらくすべての WM_PAINT で発生します)。
CreateCompatibleBitmap
。BitBlt
すると、メモリ DC のビットマップが画面 DC に表示されます。ここで入手可能な詳細情報: Win32 メモリ DC のガイド (コード プロジェクト)
はい、CreateCompatibleBitmap() は、ループ内で呼び出すたびに、新しいビットマップ、新しいメモリ割り当て、新しいハンドラーを作成します。