-1

これが可能かどうかはわかりません。しかし、基本的に私が必要としているものの要点は、WM_PAINT 中にデバイス コンテキストを介して、Win32 プログラム内の一連のものを hWnd に描画することです。次に、別の関数を使用して、同じ DC を介して hWnd にさらに多くのものを描画します。残念ながら、私は同じ DC を使用しているため、WM_PAINT 中に描画されたものはまだ DC に保持されているため、その後、関数を介して再度コピーされます。

私がする必要があるのは、WM_PAINT の最後または関数の最初でデバイス コンテキストの内容をクリアして、内容が 2 回コピーされないようにすることです。

4

2 に答える 2

1

の外で必要なときはいつでも、すべての描画をオフスクリーン ビットマップに行い、現在のビットマップを の内部にWM_PAINT単純にコピーします。HWNDWM_PAINT

于 2012-12-31T08:06:40.717 に答える
1

WM_PAINT ハンドラーで描画全体を実行できないのはなぜですか?2 番目の描画では、どのように描画しますか?デバイス コンテキストを取得して描画するために GetDC を使用している可能性があります。問題は、WM_PAINT ハンドラーの外側で描画すると、ウィンドウを再描画する必要があるときに消去され、ビットマットを使用して現在のコンテキストのコンテンツを保持しない限り、WM_PAINT 描画が GetDC ベースの描画よりも優先されることです。

于 2012-12-31T07:59:36.580 に答える