CView の OnFilePrint を抜き出し

投稿日 by Iwao

OnFilePrint の関係を Print クラスとして抜き出しました.
ダイアログベースの exe や,ビューの表示対象と異なるオブジェクトの印刷などに利用できると思います.
利用方法はこんな感じ.

class	PrintTest	:	public	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() ;
    }
  }

Print.zip
Print
マルチページ ドキュメント


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 クラスを利用したサンプル.
DH_Print クラスのサンプル EMF の印刷
PrtMF_2020_12.zip
DH_Print 利用のソースが zip の中にあり.

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ

  • カテゴリー:


コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください