ウィンドウに対するダブルバッファリングによる描画を実装するクラスです。
このクラスを利用する際は、テンプレート引数に派生クラス自身を渡して継承し、このクラスに必要なメッセージを処理させるために、CHAIN_MSG_MAP マクロによってこのクラスのメッセージ マップをチェインします。
通常は、この実装がすでに行われている CDoubleBufferWindowImpl クラスを利用します。
派生クラスは、このクラスの DoPaint メソッドを必ずオーバーライドし、そこでデバイス コンテキストに対して描画しなければなりません。
そのデバイス コンテキストは、ウィンドウのものではなくメモリ デバイス コンテキストであり、このクラスがその内容をウィンドウのデバイス コンテキストへコピーすることによって、ダブルバッファリングを行います。
CDoubleBufferWindowImpl
CMemoryDC
タイプ : テンプレート
継承クラス : なし
ヘッダ : atlframe.h
DoPaint
ウィンドウへ描画します。
OnEraseBackground
WM_ERASEBKGND メッセージのハンドラです。
OnPaint
WM_PAINT / WM_PRINTCLIENT メッセージのハンドラです。
ウィンドウへ描画します。
CDCHandle /*dc*/
デバイス コンテキストを指定します。このメソッドでは使用されません。
戻り値はありません。
このメソッドが呼び出されると、オーバーライドされていないことを示すために、ATLASSERT マクロによってアサートを発生させます。
WM_ERASEBKGND メッセージのハンドラです。
UINT /*uMsg*/
WM_ERASEBKGND メッセージです。
WPARAM /*wParam*/
メッセージに付加されたパラメータです。このハンドラでは使用されません。
LPARAM lParam
メッセージに付加されたパラメータです。このハンドラでは使用されません。
BOOL& bHandled
メッセージを処理したかどうかを示します。このハンドラでは使用されません。
常に 1 を返します。
このハンドラは、背景の描画が必要ないことを示すために 1 を返します。
WM_PAINT / WM_PRINTCLIENT メッセージのハンドラです。
UINT /*uMsg*/
WM_PAINT / WM_PRINTCLIENT メッセージです。
WPARAM /*wParam*/
メッセージに付加されたパラメータです。
LPARAM lParam
メッセージに付加されたパラメータです。このハンドラでは使用されません。
BOOL& bHandled
メッセージを処理したかどうかを示します。このハンドラでは使用されません。
常に 0 を返します。
このハンドラは、CMemoryDC クラスからメモリ デバイス コンテキストを作成し、DoPaint メソッドを呼び出します。
ページの先頭へ戻る
リファレンスへ戻る
WTL へ戻る
トップ ページへ戻る