用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧编程其他

C++Builder编程中动态更改自定义打印纸张

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-03-16 19:41:25
C++Builder编程中动态更改自定义打印纸张

因网上只有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->dmFieldsDM_PAPERSIZE;
  DevMode->dmFields = DevMode->dmFieldsDM_PAPERLENGTH;
  DevMode->dmFields = DevMode->dmFieldsDM_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();
}

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:17,468.75000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号