C++Builder中动态更改自定义打印纸张
作者:tom 来源:赛迪网社区 添加时间:2006-5-26 10:34:23因网上只有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();} |
(T113)
站内搜索