WEB开发网
开发学院软件开发VC Visual C++ 6.0编程实现打印功能 阅读

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

 2007-03-25 21:30:15 来源:WEB开发网   
核心提示: 1、启动Visual C++6.0,新建一个基于对话框的应用程序Test,Visual C++ 6.0编程实现打印功能(3),在程序的对话框窗体中加入一个按钮(Button),设置这个Button的属性:ID=IDC_PRINT,CAPTION="打印";2、使用Cla

1、启动Visual C++6.0,新建一个基于对话框的应用程序Test,在程序的对话框窗体中加入一个按钮(Button),设置这个Button的属性:ID=IDC_PRINT,CAPTION="打印";

2、使用Class Wizard类向导为该按钮添加一个鼠标单击处理函数OnPrint()

3、修改TestDlg.cpp文件中的OnPrint()函数;

4、添加代码,编译运行程序。

三、程序代码

////////////////////////////////////////////
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;
  }
 }

四、小结

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

上一页  1 2 3 

Tags:Visual 编程 实现

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