通常 CScrollView::OnFilePrint() 関数を呼び出すだけで印刷できる.(対話印刷)
対話印刷になるのは OnFilePrint() が CPrintDialog を呼び出すからである.
非対話で印刷(印刷ダイアログを表示しない)するには
BEGIN_MESSAGE_MAP(C???View, CView)
//{{AFX_MSG_MAP(C???View)
// メモ - ClassWizard はこの位置にマッピング用のマクロを追加または削除します。
// この位置に生成されるコードを編集しないでください。
//}}AFX_MSG_MAP
// 標準印刷コマンド
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()
OnFilePrint を独自のハンドラに変更する.
ON_COMMAND(ID_FILE_PRINT, OnFilePrintWithoutConfirm)
void C???View::OnFilePrintWithoutConfirm(...) {
// 必要な処理
}
[ファイルメニュー−印刷]を実行すると CView::OnFilePrint() が呼び出されるが,それを変更しているのである.
参照の「自動印刷」がよりよい解である.
参照
自動印刷