Last Updated 2011/07/17
Programming Tips Visual C++ MFC 印刷  索 引 
自動印刷
2002/08/23

[ファイル−印刷]からではなくプログラム中から任意に印刷する方法である.

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()

[ファイル−印刷]では ID_FILE_PRINT から OnFilePrint() が呼び出される.
この関数では,
OnPreparePrinting()
OnBeginPrinting()
OnPrint()
OnPrint()
OnEndPrinting()
の順に呼ばれる.
OnPreparePrinting() で DoPreparePrinting() が呼ばれ,DoPreparePrinting() にて印刷ダイアログが表示される.
OnPreparePrinting() は仮想関数だからオーバーライド...
Msdev/MFC/src/ViewPrnt.cpp の
CView::DoPreparePrintting()
CPrintInfo::CPrintInfo()
を参考にして....
というのは間違いではないが,印刷ダイアログを表示せずに印刷するには,ID_FILE_PRINT_DIRECT を PostMessage() するだけでよい.


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

DSS ProgrammingTipsCGI Ver2.02