CB编程中动态更改自定义打印纸张

因网上只有Delphi例子本人在用CB编写时发现有一些例子不能用,所以一生气就索性查了查资料自己写了,怕网友们在用编程时也遇见此类情况, 就马上传了上来。

void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
char *ADevice, *ADriver, *APort;
THandle DeviceMode;
PDeviceMode DevMode;
int length,width;
length=1400;
width=2410;//设定自定义纸张的尺寸单位为0.1毫米
ADevice =new char[100];
ADriver =new char[100];
APort =new char[100];
//获取打印机
Printer()->GetPrinter(ADevice, ADriver, APort,DeviceMode);
//获取PDevMode结构
DevMode =(_devicemodeA*) GlobalLock((void *)DeviceMode);
//设定可以修改的值
DevMode->dmFields = DevMode->dmFields|DM_PAPERSIZE;
DevMode->dmFields = DevMode->dmFields|DM_PAPERLENGTH;
DevMode->dmFields = DevMode->dmFields|DM_PAPERWIDTH;
//设定要修改的值
DevMode->dmPaperSize=DMPAPER_USER;//设为自定义纸张
DevMode->dmPaperLength=length;
DevMode->dmPaperWidth=width;
//测试打印
Printer()->BeginDoc();
TextOut(Printer()->Handle, 0, 0, "-----------------",17);
Printer()->NewPage();
TextOut(Printer()->Handle, 0, 0, "++++++++++++++++++",18);
Printer()->NewPage();
Printer()->EndDoc();
}

时间: 2024-10-31 13:52:29

CB编程中动态更改自定义打印纸张的相关文章

asp.net1.1中动态更改页面标题

asp.net|动态|页面 asp.net1.1由于没有masterpage功能,因此动态更改页面标题显得有些困难.今天在网上找到一个简单的方法,与大家分享. 通常情况下,页面的标题应该是这样的:<title>Page Title</title>我们做一些修改:<title runat="server" id="PageTitle"></title>,这就把title变成了一个服务器控件. 接下来,我们在该页面的cs中

基于dom编程中 动态创建与删除元素的使用_基础知识

复制代码 代码如下: <html><head><script type="text/javascript">    function test(){                //createElement()  创建一个指定标签名的元素[比如:动态创建超链接]        var createa=document.createElement("a");        createa.id="a1";  

Android编程中常用适配器及自定义适配器用法实例分析_Android

本文实例讲述了Android编程中常用适配器及自定义适配器用法.分享给大家供大家参考,具体如下: 一.适配器. 顾名思义,就是把一些数据给弄得适当,适合以便于在View上显示.可以看作是界面数据绑定的一种理解.它所操纵的数据一般都是一些比较复杂的数据,如数组,链表,数据库,集合等.适配器就像显示器,把复杂的东西按人可以接受的方式来展现. 那么适配器是怎么处理得到的数据,并把它显示出来的呢.其实很简单,说白了适配器它也是一个类,在类里面它实现了父类的这几个方法: publicint getCoun

Android编程中常用适配器及自定义适配器用法实例分析

本文实例讲述了Android编程中常用适配器及自定义适配器用法.分享给大家供大家参考,具体如下: 一.适配器. 顾名思义,就是把一些数据给弄得适当,适合以便于在View上显示.可以看作是界面数据绑定的一种理解.它所操纵的数据一般都是一些比较复杂的数据,如数组,链表,数据库,集合等.适配器就像显示器,把复杂的东西按人可以接受的方式来展现. 那么适配器是怎么处理得到的数据,并把它显示出来的呢.其实很简单,说白了适配器它也是一个类,在类里面它实现了父类的这几个方法: publicint getCoun

求解,windows编程中,win32程序,如何将字符串按一个一个字符逐个动态输出?

问题描述 求解,windows编程中,win32程序,如何将字符串按一个一个字符逐个动态输出? windows编程中,win32程序,如何将字符串按一个一个字符逐个动态输出? 主要是如何测得字符串的长度,然后可以用for循环吗,如果不能用什么循环. 解决方案 string bb = ""; foreach (char aa in "求解,windows编程中,win32程序,如何将字符串按一个一个字符逐个动态输出?") { bb += aa.ToString();

Android编程中自定义dialog用法实例_Android

本文实例讲述了Android编程中自定义dialog用法.分享给大家供大家参考,具体如下: dialog是android中提供的一组弹出提示框,非常好用,可是它的样式是一个定式,有时候我们需求定义一些自己的样式 1.定义一个样式文件,此文件继承自Theme.Dialog,在style.xml文件中建立一个自己的样式 <style name="addNoteType_error_Dialog" parent="@android:Theme.Dialog">

JSP中动态合并单元格的实例代码_JSP编程

废话不多说了,具体代码如下所示: <span style="font-size:14px;"> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <table width="100%" border="0" cellspacing="0" cellpadding="0&q

Java数据库编程中查询结果的表格式输出

编程|数据|数据库 [内容摘要]本文较为详细地介绍了在Java数据库编程中,利用表格输出查询结果的方法:并对所涉及的类给以了简要说明.[关键字]类.对象.接口[作者简介]男,26岁,陕西财经学院研究生,师从陈逢吉教授,从事金融信息系统方面的研究. 利用Java开发数据库应用系统时,经常需要在用户界面上显示查询结果.由于SUN公司提供的JDK1.x开发工具包不是可视化的集成开发环境(IDE),不能象Delphi.VB那样方便地把查询结果在DBGrid等表格中显示出来.因此,只能靠自己编写代码来实现

多线程编程中的本质问题

在编写多线程程序的时候我们经常需要判断临界条件,如对象池中的可用数,某一个对象是否可用等状态.当我们这么做的时候其实就已经错了,为什么这么说因为在我们的潜意识里一直在使用绝对时间点来判定多线程程序.因为我们习惯性的用锁然后判定当前时间点的临界条件状态并作出相应处理.这样做当然可以但是在理念上错了,锁是为了同步资源用的而不是临界条件(当然你们做也没关系不过我向往无锁并发).那我们不依赖绝对时间点还能依赖什么呢?那就是事件,不过这个event可不是.net里的那个关键字.这是个逻辑上的概念.所谓多线