次の方法で共有


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

参照

参照

CWnd クラス

階層図

CWnd::BeginPaint

CWnd::EndPaint

CWnd::RedrawWindow

CPaintDC クラス

CView::OnDraw

その他の技術情報

CWnd のメンバ