Last Updated 2002/08/23
Programming Tips Visual C++ MFC 印刷  索 引 
非対話印刷
2002/08/23

通常 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() が呼び出されるが,それを変更しているのである.


参照の「自動印刷」がよりよい解である.


参照
自動印刷
前後のTips
非対話印刷

DSS ProgrammingTipsCGI Ver2.02