OnFilePrint の関係を DH_Print クラスとして抜き出しました.
ダイアログベースの exe や,ビューの表示対象と異なるオブジェクトの印刷などに利用できると思います.
利用方法はこんな感じ.
class PrintTest : public DH_Print { public: virtual void OnPrint (CDC* pDC, CPrintInfo* pInfo) { CRect rect = pInfo->m_rectDraw ; { pDC->TextOut(0,0,_T("ここが印刷のためのコードです.")) ; } return ; } virtual BOOL OnPreparePrinting ( CPrintInfo* pInfo) { pInfo->SetMaxPage(5) ; return DoPreparePrinting(pInfo) ; } virtual CString GetDocumentTitle (void) { return _T("通常はドキュメント名を戻します.") ; } } ;
印刷が押されると,
void CAboutDlg::OnPrint() { PrintTest pt ; if (pt.OnFilePrint()) { OnOK() ; } }
2020/07/13 Google ドライブ上の Print.zip へのリンク
Print.zip
2020/12/17 公開しているファイルだけでは利用できなかったので修正
Print_2020_12.zip
クラス名 Print は DH_Print に変更.
印刷時のデフォルトのドキュメント名を ” DH_Print : %Y/%m/%d %H:%M:%S ” に変更.
DH_Print クラスを利用したサンプル.
PrtMF_2020_12.zip
DH_Print 利用のソースが zip の中にあり.