AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > VC编程

Visual C++ 6.0编程实现打印功能

51自学网 2015-08-30 http://www.wanshiok.com

  三、程序代码

////////////////////////////////////////////
void CTestDlg::OnPrint()
{
 char szprinter[80];
 char *szDevice,*szDriver,*szOutput;
 HDC hdcprint; // 定义一个设备环境句柄
 //定义一个打印作业
 static DOCINFO di={sizeof(DOCINFO),"printer",NULL};
 // 得到设备字符串存入数组szprinter中
 GetProfileString("windows","device",",,,",szprinter,80);
 // 将设备字符串分解
 if(NULL!=(szDevice=strtok(szprinter,","))&&NULL!=(szDriver=strtok(NULL,","))&&
NULL!=(szOutput=strtok(NULL,",")))
  // 创建一个打印机设备句柄
  if((hdcprint=CreateDC(szDriver,szDevice,szOutput,NULL))!=0)
  {
   if(StartDoc(hdcprint,&di)>0) //开始执行一个打印作业
   {
    StartPage(hdcprint); //打印机走纸,开始打印
    SaveDC(hdcprint); //保存打印机设备句柄
    // 输出一行文字
    TextOut(hdcprint,1,1,"热烈祝贺编程实例出版发行!",16);
    RestoreDC(hdcprint,-1); //恢复打印机设备句柄
    EndPage(hdcprint); //打印机停纸,停止打印
    EndDoc(hdcprint); //结束一个打印作业
    MessageBox("打印完毕!","提示",MB_ICONINFORMATION);
   }
   // 用API函数DeleteDC销毁一个打印机设备句柄
   DeleteDC(hdcprint);
  }
  else
  {
   MessageBox("没有默认打印机,或者没有安装打印机!");
   return;
  }
 }

  四、小结

  上面的例子非常简单,笔者主要是通过它说明如何实现打印功能,而不是说明如何实现复杂的打印效果,因为它们已经不属于我们这里所要讨论的范畴了,相信读者朋友真正掌握了上面实现打印功能的方法后,通过灵活的设置设备环境的各种对象(如字体对象、画刷等),一定可以打印出各种满意的效果来。

 
 
说明
:本教程来源互联网或网友上传或出版商,仅为学习研究或媒体推广,wanshiok.com不保证资料的完整性。

上一篇:Visual C++及C++中的智能指针应用分析  下一篇:用VC++在基于对话框的程序中动态更改光标