本文共 1739 字,大约阅读时间需要 5 分钟。
//////#define ID_BTN_PRINT 1111111#define ID_BTN_PRINT_PREVIEW 1111112#define IDD_DLG_MY_VIEW 11111#ifdef SHARED_HANDLERS#undef SHARED_HANDLERSclass 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);}
转载地址:http://kmjub.baihongyu.com/