手揣网教程:绿色安全纯净官方版,体验当今速度最快的浏览器!

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

时间:2024/12/21作者:未知来源:手揣网教程人气:

[摘要]因网上只有Delphi例子本人在用CB编写时发现有一些例子不能用,所以一生气就索性查了查资料自己写了,怕网友们在用编程时也遇见此类情况,就马上传了上来。void __fastcall TForm1:...
因网上只有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();
}

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




Copyright © 2012-2018 手揣网教程(http://www.shouchuai.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版