//
//
//
#define ID_BTN_PRINT 1111111
#define ID_BTN_PRINT_PREVIEW 1111112
#define IDD_DLG_MY_VIEW 11111
#ifdef SHARED_HANDLERS
#undef SHARED_HANDLERS
class CMyViewDlg : public CDialogEx
{
DECLARE_DYNAMIC(CMyViewDlg)
public:
CMyViewDlg(CWnd* pParent = NULL); // 标准构造函数
virtual ~CMyViewDlg();
// 对话框数据
enum { IDD = IDD_DLG_MY_VIEW };
protected:
DECLARE_MESSAGE_MAP()
private:
CMyView* m_myView;
public:
afx_msg void OnClickedBtnPrint();
afx_msg void OnClickedBtnPrintPreview();
};
BEGIN_MESSAGE_MAP(CMyViewDlg, CDialogEx)
ON_BN_CLICKED(ID_BTN_PRINT, &CMyViewDlg::OnClickedBtnPrint)
ON_BN_CLICKED(ID_BTN_PRINT_PREVIEW, &CMyViewDlg::OnClickedBtnPrintPreview)
END_MESSAGE_MAP()
//打印
void CMyViewDlg::OnClickedBtnPrint()
{
if (m_myView)
{
m_myView->OnFilePrint();
}
}
//打印预览
void CMyViewDlg::OnClickedBtnPrintPreview()
{
if (m_myView)
{
m_myView->OnFilePrintPreview();
}
}
class CMyView : public CView
{
DECLARE_DYNCREATE(CMyView)
public:
CMyView();
virtual ~CMyView();
public:
virtual void OnDraw(CDC* pDC); // 重写以绘制该视图
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
void OnFilePrint();
void OnFilePrintPreview();
protected:
DECLARE_MESSAGE_MAP()
};
BEGIN_MESSAGE_MAP(CMyView, CView)
END_MESSAGE_MAP()
void CPlotView::OnDraw(CDC* pDC)
{
CDocument* pDoc = GetDocument();
UpdateWindow();
}
void CMyView::CurveRedraw(BOOL bRedraw)
{
m_pCurveCtrl->Invalidate(bRedraw);
}
void CMyView::OnFilePrintPreview()
{
#ifndef SHARED_HANDLERS
AFXPrintPreview(this);
#endif
}
void CMyView::OnFilePrint()
{
CView::OnFilePrint();
// TODO: 在此添加控件通知处理程序代码
}
BOOL CMyView::OnPreparePrinting( CPrintInfo* pInfo )
{
return DoPreparePrinting(pInfo);
}
BOOL CMyView::PreCreateWindow( CREATESTRUCT& cs )
{
return CView::PreCreateWindow(cs);
}
【框架-MFC】CView(chenlu1):MFC在CView的派生类中实现打印和打印预览
最新推荐文章于 2023-09-08 16:35:58 发布