پرینت انواع اسناد با دلفی

  1. Drop a TComboBox on a form. Name it "cboPrinter". Set Style to csDropDownList.
  2. Put the next two lines in the form's OnCreate event handler.
// have available printers in the combo box cboPrinter.Items.Assign(printer.Printers); // pre-select the default / active printer cboPrinter.ItemIndex:=printer.PrinterIndex;

Now, here's the method you can use to print any document type to a specified printer:

usesShellAPI,Printers;

...

procedureTForm1.PrintDocument(constdocumentToPrint:string); var printCommand:string; printerInfo:string; Device,Driver,Port:array[0..255]ofChar; hDeviceMode:THandle; begin ifPrinter.PrinterIndex=cboPrinter.ItemIndexthen begin printCommand:='print'; printerInfo:=''; end else begin printCommand:='printto'; Printer.PrinterIndex:=cboPrinter.ItemIndex; Printer.GetPrinter(Device,Driver,Port,hDeviceMode); printerInfo:=Format('"%s" "%s" "%s"',[Device,Driver,Port]); end; ShellExecute( Application.Handle, PChar(printCommand), PChar(documentToPrint), PChar(printerInfo), nil, SW_HIDE ); end;

/ 0 نظر / 6 بازدید