CWnd::OnPaint
更新 : 2007 年 11 月
Windows またはアプリケーションがアプリケーション ウィンドウの一部の再描画を要求するときに、フレームワークからこのメンバ関数が呼び出されます。
afx_msg void OnPaint( );
解説
UpdateWindow メンバ関数または RedrawWindow メンバ関数が呼び出されたときに、WM_PAINT メッセージが送信されます。
RDW_INTERNALPAINT フラグを設定したために RedrawWindow メンバ関数が呼び出されたときは、ウィンドウは内部描画メッセージを受け取ることがあります。この場合、ウィンドウが更新領域を持たないこともあります。ウィンドウが更新領域を持つかどうかを調べるためには、アプリケーションは GetUpdateRect メンバ関数を使う必要があります。GetUpdateRect が 0 を返した場合は、アプリケーションから BeginPaint メンバ関数と EndPaint メンバ関数を呼び出さないでください。
WM_PAINT メッセージは、無効領域、および RDW_INTERNALPAINT フラグを設定した RedrawWindow メンバ関数の呼び出しの両方が原因で送られます。アプリケーションは、WM_PAINT メッセージが送られるごとに内部データ構造体を見て、内部的な再描画や更新が必要かどうかを調べる必要があります。
内部 WM_PAINT メッセージは、Windows から一度だけ送られます。UpdateWindow メンバ関数を使って、内部 WM_PAINT メッセージが送られた後は、ウィンドウが無効となるか、または RDW_INTERNALPAINT フラグを設定した RedrawWindow メンバ関数が再度呼び出されるまで、WM_PAINT メッセージが送られたりポストされることはありません。
ドキュメント/ビュー アプリケーションのイメージのレンダリングの詳細については、CView::OnDraw の説明を参照してください。
WM_Paint の使用方法の詳細については、Windows SDK の次のトピックを参照してください。
必要条件
ヘッダー : afxwin.h