程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> CB編程中動態更改自定義打印紙張

CB編程中動態更改自定義打印紙張

編輯:關於C++

因網上只有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();
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved