写印地10的Delphi代码问题,怎么解决

2025-04-07 12:33:01
推荐回答(1个)
回答1:

{fastreport:}Procedure TForm1.Button1Click(Sender:TObject);var report:TfrxReport; page:TfrxReportPage;begin page:=TFrxReportPage(frxReport1.FindObject('Page1')); page.PaperSize:=DMPAPER_A3{指定A3}...end; {Printer:}uses Printers Procedure TForm1.Button1Click(Sender:TObject);var Device:array [0..cchDeviceName-1] of Char; Driver:array [0..(MAX_PATH-1)] of Char; Port:array [0..32] of Char; hDMode:THandle; pDMode:PDevMode;begin Printer.GetPrinter(Device,Driver,Port,hDMode); if hDMode<>0 then begin pDMode:=GlobalLock(hDMode); if pDMode<> nil then begin pDMode^.dmPaperSize:=256; pDMode^.dmPaperLength:=1140; //指定长114mm pDMode^.dmPaperWidth:=1900; //指定宽190mm pDMode^.dmFields:=pDMode^.dmFields or DM_PAPERSIZE; pDMode^.dmFields:=pDMode^.dmFields or DM_PAPERLENGTH; pDMode^.dmFields:=pDMode^.dmFields or DM_PAPERWIDTH; ResetDC(Printer.Handle,pDMode^); GlobalUnlock(hDMode); end; end; with Printer do{测试} begin BeginDoc; Canvas.TextOut(10,10,'Hello,Jack!'); EndDoc; end;end;