bestlong 怕失憶論壇's Archiver

bestlong 發表於 2014-12-17 16:29

FastReport 用程式碼來切換印表機

[code]
var
  AIndex : Integer;
  hDevMode: THandle;
  Device, Driver, Port: array[0..1024] of Char;
  DeviceMode: PDevMode;

begin

  if not PrintDialog1.Execute then Exit;

  frxReport1.PrepareReport(True);
  frxreport1.PrintOptions.ShowDialog := False;

  AIndex := frxPrinters.IndexOf(Printer.Printers[Printer.PrinterIndex]);

  if AIndex <> -1 then
  begin
    frxPrinters.PrinterIndex := AIndex;
    frxreport1.PrintOptions.Printer := frxPrinters[AIndex].Name;
    frxreport1.SelectPrinter;

    Printer.GetPrinter(Device, Driver, Port, hDevMode);
    if hDevMode <> 0 then
      DeviceMode := GlobalLock(hDevMode);

    TfrxPrinter(frxPrinters.Printer).DeviceMode.dmColor := DeviceMode^.dmColor;
    GlobalUnlock(hDevMode);
    //frxPrinters.Printer.PropertiesDlg;
    frxReport1.Print;
  end;

end;
[/code]參考來源 [url]http://www.fast-report.com/en/forum/index.php?showtopic=8809[/url]
頁: [1]

Powered by Discuz! X1.5 Archiver   © 2001-2010 Comsenz Inc.