次の方法で共有


CView::OnPreparePrinting

文書を印刷するか、またはプレビューされる前に、フレームワークによって呼び出されます。

virtual BOOL OnPreparePrinting(
   CPrintInfo* pInfo 
);

パラメーター

  • pInfo
    CPrintInfo をポイントし、構成します現在の印刷ジョブを記述する。

戻り値

は、印刷し始めます。; 印刷ジョブが取り消された場合は 0。

解説

既定の実装では、何も行われません。

印刷や印刷プレビューを有効にするには、この関数をオーバーライドします。DoPreparePrinting のメンバー関数を返します。、pInfo のパラメーターを呼び出し、戻り値を渡しています; DoPreparePrinting は印刷ダイアログ ボックスを表示し、プリンターのデバイス コンテキストを作成します。既定値以外の値を持つ印刷ダイアログ ボックスを初期化する場合は、pInfoのメンバーに値を代入します。たとえば、ドキュメントの長さがわかっている場合は、DoPreparePrintingを呼び出す前に pInfo の SetMaxPage のメンバー関数の値を渡します。この値はに表示されます: 印刷ダイアログ ボックスのボックスの範囲の部分。

DoPreparePrinting、プレビューのジョブの印刷ダイアログ ボックスを表示しません。印刷ジョブの印刷ダイアログ ボックスを省略する場合は、pInfo の m_bPreview のメンバーが FALSEDoPreparePrintingに渡す前に [真] に値を設定しないことをチェックします; この後 FALSE にリセットします。

プリンターなどのデバイス コンテキストを表す CDC のオブジェクトにアクセスする初期化する必要がある場合は、ドキュメントの長さを指定する前に、ページ サイズを知る必要がある場合は、)、OnBeginPrinting のメンバー関数をオーバーライドします。

pInfo のパラメーターの m_nNumPreviewPages または m_strPageDesc メンバーの値を設定する場合 DoPreparePrintingを呼び出した後に挿入します。DoPreparePrinting のメンバー関数は、アプリケーションの .INI ファイルに含まれている値に m_nNumPreviewPages を設定し、既定に m_strPageDesc を設定します。

使用例

フレームワークが印刷ダイアログ ボックスを表示し、必要に応じてプリンター DC) を作成するように OnPreparePrinting をオーバーライドし、オーバーライドの DoPreparePrinting を呼び出します。

BOOL CMyEditView::OnPreparePrinting(CPrintInfo* pInfo)
{
   return CEditView::DoPreparePrinting(pInfo);
}

ページ数をドキュメントが含まれているかわかっている場合は、OnPreparePrinting の最大ページを設定します DoPreparePrintingを呼び出す前にします。フレームワークは」、印刷ダイアログ ボックスのボックスに「ページの最大数を表示します。

BOOL CExampleView::OnPreparePrinting(CPrintInfo* pInfo)
{
   //The document has 2 pages.
   pInfo->SetMaxPage(2);
   return CView::DoPreparePrinting(pInfo);
}

必要条件

ヘッダー: afxwin.h

参照

関連項目

CView クラス

階層図

CPrintInfo 構造体

CView::DoPreparePrinting

CView::OnBeginPrinting

CView::OnPrepareDC

CView::OnPrint