C++Builder动态更改自定义打印纸张 |
|
www.nanhushi.com 佚名 不详 |
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++箴言:用传引用给const取代传值 下一篇文章: Bjarne:必须在类声明处赋予数据吗 |
【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|