はじめまして。
開発環境は Windows2000 VC++6.0SP5 を使用しています。
VC初心者なのであまりにも基本的な質問かもしれませんが
よろしくお願い致します。
現在SDIプログラムを作成していますが、メインのビューは
CFormViewを継承しコントロール類を配置しているため、印刷
プレビューするためのビューをどうしたらよいのかで行き詰
まっています。
何かいい方法等ございましたらご教授よろしくお願い致します。
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 を追加する
レスありがとうございます。
実際にはメインビュー上のボタンから表示したダイアログ上の
[印刷]ボタンから実行という仕様にしたんですが、
SendMessage(WM_COMMAND,ID_FILE_PRINT_PREVIEW)
でメインの印刷機能を実行し、内容は
OnPreparePrinting()
OnBeginPrinting()
OnEndPrinting()
OnPrint()
内に記述することで解決できました。
大変参考になりました。