CB编程中动态更改自定义打印纸张
2008-02-23 05:36:04来源:互联网 阅读 ()
因网上只有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(); } |
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: 将位图旋转90度
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash