工控编程吧

标题: 上位机MFC如何实现框架之外的打印 [打印本页]

作者: qq263946146    时间: 2019-8-3 10:16
标题: 上位机MFC如何实现框架之外的打印
  1. void CDemoDlg::OnTest()
  2. {
  3.         //打印对话框
  4.         DWORD dwFlags = PD_ALLPAGES | PD_USEDEVMODECOPIES | PD_NOPAGENUMS
  5.                 | PD_NOSELECTION | PD_HIDEPRINTTOFILE;
  6.         CPrintDialog dlg(FALSE);

  7.         if (dlg.DoModal() == IDOK)
  8.         {
  9.                 //获得打印机DC
  10.                 HDC hDC = dlg.GetPrinterDC();
  11.                 if (hDC == NULL)
  12.                 {
  13.                         return;
  14.                 }

  15.                 //通过HDC获得CDC指针
  16.                 CDC* pDC = CDC::FromHandle(hDC);

  17.                 pDC->m_bPrinting = TRUE;

  18.                 //文档信息
  19.                 DOCINFO di;
  20.                 ::ZeroMemory (&di, sizeof (DOCINFO));
  21.                 di.cbSize = sizeof (DOCINFO);
  22.                 di.lpszDocName = _T("Demo");

  23.                 //开始打印
  24.                 pDC->StartDoc(&di);

  25.                 //输出文本
  26.                 pDC->TextOut(100, 100, _T("Hello World!"));

  27.                 //结束打印
  28.                 pDC->EndDoc();

  29.                 //删除DC
  30.                 pDC->DeleteDC();
  31.         }
  32. }
复制代码



上面是功能实现的按钮点击函数。可以查看效果。





欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4