CView::OnPrint
ドキュメントのページを印刷したり、プレビューするために、フレームワークによって呼び出されます。
virtual void OnPrint(
CDC* pDC,
CPrintInfo* pInfo
);
パラメーター
pDC
プリンターのデバイス コンテキストへのポインター。pInfo
CPrintInfo をポイントし、構成します現在の印刷ジョブを記述する。
解説
出力される各ページに対するフレームワークは OnPrepareDC のメンバー関数を呼び出した直後でこの関数を呼び出します。印刷するページは pInfo が指す CPrintInfo の構造体の m_nCurPage のメンバーによって指定されます。既定の実装では OnDraw のメンバー関数を呼び出して、プリンターのデバイス コンテキストを渡します。
次のいずれかの理由でこの関数をオーバーライドします:
マルチページのドキュメントの印刷を許可します。レンダー現在印刷するページに対応するドキュメントの部分。レンダリングを実行するを OnDraw を使用してドキュメントの適切な部分だけを出力するようにビューポートの原点を調整できます。
アプリケーションが WYSIWYG の場合) されたイメージを印刷するには映像とは異なる (つまり、" "を参照してください。OnDrawにプリンターのデバイス コンテキストを渡す代わりに、画面に表示されない属性を使用してイメージを表示するために、デバイス コンテキストを使用します。
と画面の表示のために、GDI 印刷用のリソースが使用されない場合、デバイス コンテキストに描画される前にしていない場合、それらを必要とする場合に、これらを、その選択を解除します。これらの GDI リソースは OnBeginPrinting に割り当てられています OnEndPrintingに解放する必要があります。
実装のヘッダーまたはフッターにします。まだ印刷できる領域を制限して、をレンダリングするために OnDraw を使用できます。
pInfo のパラメーターの m_rectDraw のメンバーが論理単位でページの印刷できる領域を記述することに注意してください。
OnPrintのオーバーライドで OnPrepareDC を呼び出さないでください; フレームワークは OnPrintを呼び出す前に OnPrepareDC を自動的に呼び出します。
使用例
次に OnPrint のオーバーライドされた関数のスケルトンです:
void CMyView::OnPrint(CDC *pDC, CPrintInfo *pInfo)
{
UNREFERENCED_PARAMETER(pInfo);
// Print headers and/or footers, if desired.
// Find portion of document corresponding to pInfo->m_nCurPage.
OnDraw(pDC);
}
別の例については、CRichEditView::PrintInsideRectを参照してください。
必要条件
ヘッダー: afxwin.h