次の方法で共有


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

参照

関連項目

CView クラス

階層図

CView::OnBeginPrinting

CView::OnEndPrinting

CView::OnPrepareDC

CView::OnDraw