印刷プレビューするためのビューについて

[戻る]
ホッシー 2004/09/15(水) 14:56:57
はじめまして。
開発環境は Windows2000 VC++6.0SP5 を使用しています。
VC初心者なのであまりにも基本的な質問かもしれませんが
よろしくお願い致します。

現在SDIプログラムを作成していますが、メインのビューは
CFormViewを継承しコントロール類を配置しているため、印刷
プレビューするためのビューをどうしたらよいのかで行き詰
まっています。
何かいい方法等ございましたらご教授よろしくお願い致します。

1 2004/09/15(水) 23:15:47
VS.NET 2003 では次の作業でできました

メッセージマップに次を追加
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)


OnPreparePrintingをオーバーライドしDoPreparePrintingを実行する

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

OnPrintをオーバーライドし印刷内容を書き込む

void C****::OnPrint(CDC* pDC, CPrintInfo* pInfo)
{
pDC->TextOut(50,100, "テスト");
CFormView::OnPrint(pDC, pInfo);
}

後、メニュー項目に ID_FILE_PRINT_PREVIEW を追加する

ホッシー 2004/09/17(金) 09:19:30
[[解決]]
レスありがとうございます。
実際にはメインビュー上のボタンから表示したダイアログ上の
[印刷]ボタンから実行という仕様にしたんですが、
SendMessage(WM_COMMAND,ID_FILE_PRINT_PREVIEW)
でメインの印刷機能を実行し、内容は
OnPreparePrinting()
OnBeginPrinting()
OnEndPrinting()
OnPrint()
内に記述することで解決できました。
大変参考になりました。

古いスレッドには追加発言できません。