zoukankan      html  css  js  c++  java
  • 直接调用默认打印机,不出现打印机对话框

    HDC PrintDC;
         DOCINFO docin;
       
         docin.cbSize = sizeof(DOCINFO);
         docin.lpszDocName = "TestDoc";
         docin.lpszOutput = NULL;
       
         CPrintDialog PrintDialog(TRUE,PD_ALLPAGES|PD_NOPAGENUMS,NULL);
         // if(!PrintDialog.GetDefaults()) return ; //如果不用打印设置对话框,使这一行有效
       
         if(PrintDialog.DoModal()!=IDOK) return; //显示打印设置对话框(不显示把这一行去掉)
       
         PrintDC = PrintDialog.CreatePrinterDC(); // 返回一个打印DC句柄
       
         //重新定义纸张大小
         DEVMODE* lpDevMode = (DEVMODE*)PrintDialog.GetDevMode();
         lpDevMode->dmPaperSize = DMPAPER_USER; //设定为自定义纸张尺寸
         lpDevMode->dmFields |= DM_PAPERSIZE; //允许重新设置纸张大小
         lpDevMode->dmPaperLength = 300; //设定纸长为 3 厘米
         ResetDC(PrintDC,lpDevMode); //使设置的参数发挥作用
       
         StartDoc(PrintDC,&docin); // 启动打印工作
         StartPage(PrintDC); // 一页开始
         TextOut(PrintDC,0,10,"打印内容",8); //打印内容
         EndPage(PrintDC); // 一页结束
         EndDoc(PrintDC); // 终止打印工作
       
         if(DeleteDC(PrintDC))
         return; // 删除打印机DC
         else
         {
         AfxMessageBox("出错",MB_OK);
         return;
         } [喝小酒的网摘]http://blog.const.net.cn/a/1338.htm

  • 相关阅读:
    彻底弄懂最短路径问题[转]
    activiti任务TASK
    linux查看磁盘空间
    Introduction to the POM
    【转】10 个迅速提升你 Git 水平的提示
    macbook安装mysql
    java并发编程之美-笔记
    springboot2精髓读书笔记
    java多线程
    实战JAVA虚拟机笔记
  • 原文地址:https://www.cnblogs.com/dengpeng1004/p/3539431.html
Copyright © 2011-2022 走看看