龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

C++Builder动态更改自定义打印纸张[组图]

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
void __fastcall TForm1::BitBTn1Click(TObject *Sender) { char *ADevice, *ADriver, *APort; THandle DeviceMode; PDeviceMode DevMode; int length,width; length=1400; width=2410; //设定自定义纸张的尺寸单位为0.1毫米 !-- frame content
void __fastcall TForm1::BitBTn1Click(TObject *Sender)
  {
  char *ADevice, *ADriver, *APort;
  THandle DeviceMode;
  PDeviceMode DevMode;
  int length,width;
  length=1400;
  width=2410; //设定自定义纸张的尺寸单位为0.1毫米
   <!-- frame contents -->
<!-- /frame contents --> 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();
  }
  
  

更多内容请看C/C++技术专题专题,或
  
精彩图集

赞助商链接