设为首页 加入收藏

TOP

C++Builder动态更改自定义打印纸张
2014-11-23 20:29:16 】 浏览:391
Tags:Builder 动态 更改 定义 打印 纸张

  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();
  }


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C++程序设计从零开始之指针 下一篇Bjarne:我如何写这个非常简单的..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目