本人用VC开发的基于浏览器的票据打印控件

 
从最初的OLE1.0到ActiveX,从COM到DCOM,微软在逐步完善组件对象模型,Internet和分布式的引入更使ActiveX技术日臻完善。ActiveX支持3种类型的服务器实现组件:进程内服务器,它以动态链接库(dynamic linked library,DLL)的形式存在,与应用程序在相同的进程空间内运行,所以性能开销很小;本地服务器,它与客户端运行在不同的进程空间,所以通常性能开销比进程内服务器高一个数量级;远程服务器,它运行在远程计算机上,它通过RPC机制实现应用程序与远程服务器通信。
打印过程基本是调用本机的打印机进行打印,所以不需要开发远程服务器;又考虑到性能因素,所以我们所开发的WebPrint组件为进程内组件,是一个后缀名为dll的动态链接库。该组件完成用户自定义打印格式页面的添加、更改,页眉、页脚的设置、打印机首选格式的设置等功能,主要应用程序接口方法有3个:
 void setFooter(VARIANT sFooter);
 void setHeader(VARIANT sHeader);
 void setDefaultPape(long x, long y, long left, long top, long right, long bottom, VARIANT nam, long orient);
接口方法setFooter功能是设置web页面的页脚,参数sFooter是要设置的页脚字符串,接口方法setHeader的功能是设置web页面的页眉,参数sHeader是要设置的页眉字符串,上述两个接口方法的实现是通过更改注册表完成的,
其键名是:HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/PageSetup,项名分别是:footer和header。
接口方法 setDefaultPape 的功能是用户自定义大小页面的添加或更改(如果已经存在),参数 x,y 是页面的宽度和长度, left,top,right,bottom 分别是页面的左、上、右、下四个边距, nam 是页面名称, orient 是页面的打印方向 , 实现上主要是调用 Windows API 函数,比如 OpenPrinter GetPaperSize AddForm SetForm SetPrinter 等函数。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值