VC下打印机的使用

VC 5.0是开发Windows 95下应用程序的强大工具。本文将通过一

个具体实例讨论用VC打印文字和图形的一些技术。在Windows 95下,

显示器和打印机、绘图仪都被视为输出设备。系统默认的输出设备是

显示器。要使用打印机,首先需要创建一个指向打印机的设备环境句柄,

然后通过该句柄调用相关的绘图函数把所需的文字和图形输出至打印

机上。当打印结束后,删除这个设备环境句柄即可。

一、技术细节

当我们在Windows95下安装好打印机后,总是需要设置一个为默认

打印机,在Windows95的启动配置文件WIN.INI中[window]段中列出了

带有关键字device的默认打印机。如果在文件WIN.INI中有如下几行:

 

[windows]

[其他程序行]

device=EPSON LQ-1600K,EPSON24,LPT1:

在device后的字符串中就包含了系统中默认的打印机的三个重要

属性.它们依次是打印机的设备名是LQ-1600K,驱动程序名是EPSON24,

输出端口为LPT1。在程序中我们可调用API函数GetProfileString从

WIN.INI文件中获得这个设备字符串。再将这个设备字符串进行分解,

获得这三个属性,作为参数用API函数CreateDC调用。如果调用成功,

则为默认打印机创建一个设备环境句柄,否则返回一个空值(NULL)。

CreateDC函数的原形如下:

HDC CreateDC(

LPCTSTR lpszDriver,

LPCTSTR lpszDevice,

LPCTSTR lpszOutput,

CONST DEVMODE *lpinitData

);

二、程序代码及说明

新建一个名为Test的工程,窗体类型为对话框(Dialog based)

模式。在窗体中加入一个按钮(Button),设置这个Button的属性:

ID=IDC_PRINT,CAPTION="打印"。在类向导中找到该Button

的单击事件对应的消息BN_CLICKED,增加其成员函数OnPrint。

在TestDlg.cpp文件中找到OnPrint函数并作如下改动。

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,"这是一个例子",12);

// 输出一条直线

MoveToEx(hdcprint,20,20,NULL);

LineTo(hdcprint,120,120);

RestoreDC(hdcprint,-1); //恢复打印机设备句柄

EndPage(hdcprint); //打印机停纸,停止打印

EndDoc(hdcprint); //结束一个打印作业

MessageBox("打印完毕!","提示",MB_ICONINFORMATION);

}

// 用API函数DeleteDC销毁一个打印机设备句柄

DeleteDC(hdcprint);

}

else

{

MessageBox("没有默认打印机,或者没有安装打印机!");

return;

}

}

编译运行程序,出现如下窗体:

wpe1.jpg (4927 bytes)

在窗体中按下"打印"按钮,则打印机上会输出一行字"这是一个例子"。

然后再输出一条直线。在程序中使用了许多API函数,这些函数的具体用

法在VC5.0提供的帮助文件中都有详细的说明,有兴趣的读者不妨看一看。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
VC6.0是微软公司开发的一款集成开发环境(IDE),用于C++编程。它具有功能强大、易于使用的特点,是许多开发人员喜爱的编程工具之一。下面我将详细介绍VC6.0的使用教程: 1. 安装:下载并安装VC6.0,按照安装向导进行操作。 2. 创建项目:打开VC6.0,选择“文件”菜单中的“新建”>“项目”,选择“Win32应用程序”,填写项目名称和保存路径。 3. 编写代码:在“文件视图”中找到项目名称,双击打开该项目,在“资源视图”中找到“源文件”文件夹,双击打开“*.cpp”文件。在打开的编辑器中编写代码。 4. 编译和生成可执行文件:选择“生成”菜单中的“生成解决方案”,或者按下F7键进行编译。编译成功后,在项目文件夹中生成可执行文件。 5. 调试:选择“调试”菜单中的“开始执行”进行调试。可以设置断点、单步执行、查看变量值等。当程序出现错误时,调试器会定位到错误的位置。 6. 部署:在调试成功后,可以选择“生成”菜单中的“生成解决方案”生成部署文件。将可执行文件和所需的依赖文件一起打包,方便部署到其他电脑上运行。 7. 项目管理:可以使用“解决方案资源管理器”对项目进行管理,包括添加文件、修改编译选项、配置管理器等。 8. 源代码控制VC6.0支持与版本控制系统(如Git)的集成,方便多人协同开发。 9. 插件和扩展:VC6.0提供了丰富的插件和扩展功能,可以根据个人需求进行定制。 10. 学习资源:如需深入学习VC6.0的使用,可以查阅相关的书籍、教程、文档和网络资源,如微软官方网站、论坛等。 总结起来,VC6.0使用教程详解包括安装、创建项目、编写代码、编译和调试、部署、项目管理、源代码控制、插件和扩展、学习资源等内容。掌握这些基本的使用方法,可以有效地利用VC6.0进行C++编程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hh_bj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值