WEB开发网
开发学院软件开发VC 使用 MFC 编写打印程序 阅读

使用 MFC 编写打印程序

 2006-07-19 11:31:01 来源:WEB开发网   
核心提示: pFrame->m_pCallerDlg->SendMessage(WM_MY_PRINT,(WPARAM) pDC, (LPARAM) pInfo);使打印的具体处理又传回到对话框中,使开发人员根据具体的需要写WM_MY_PRINT的处理函数就可以实现打印,使用 MFC 编写
pFrame->m_pCallerDlg->SendMessage(WM_MY_PRINT,(WPARAM) pDC, (LPARAM) pInfo);

使打印的具体处理又传回到对话框中,使开发人员根据具体的需要写WM_MY_PRINT的处理函数就可以实现打印,而CView::OnPrint(CDC* pDC, CPrintInfo* pInfo)的参数也从WM_MY_PRINT的消息参数传出来,在用户的对话框程序中,需要写的代码就很少,主要有以下几个步骤,

  1. 建立一个CPrintFrame的对象,设该对象的指针为pFrame,并将对话框的指针传给该对象的m_pCallerDlg,即pFrame->m_pCallerDlg = this;
  2. 调用对象的Create函数创建框架窗口;例如pFrame->Create(NULL,"频谱打印",WS_OVERLAPPEDWINDOW,CRect(0,0,0,0));
  3. 如果要执行打印,则调用pFrame->m_pView->OnMyPrint();
  4. 如果要执行打印预览,则调用:

    pFrame->m_pView->OnMyPrintPreview();      例如:

    void CDlgPrintDlg::OnPrint() //执行打印功能
    {
      CPrintFrame *pFrame = new CPrintFrame;
      pFrame->m_pCallerDlg = this;
      pFrame->Create(NULL,"Curve
      Print",WS_OVERLAPPEDWINDOW,CRect(0,0,0,0));
      pFrame->m_pView->OnMyPrint();
    }
    void CDlgPrintDlg::OnPrintPreview() //执行打印预览功能
    {
      CPrintFrame *pFrame = new CPrintFrame;
      pFrame->m_pCallerDlg = this;
      pFrame->Create(NULL,"Curve Print
      Preview",WS_OVERLAPPEDWINDOW,CRect(0,0,0,0));
      pFrame->m_pView->OnMyPrintPreview();      
    }

  5. 在对话框中响应 WM_BEGIN_PRINTING, WM_END_PRINTING,WM_MY_PRINT消息,分别完成打印的初始化,释放和具体的打印操作;

如在示例程序中添加了三个消息响应函数来执行该功能。

上一页  1 2 3 4 5  下一页

Tags:使用 MFC 编写

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接