2012-11-15 64 views
3

我在Embarcadero Delphi XE2中製作應用程序。printersetupdialog啓動打印機

我使用PrinterSetupDialog選擇打印機名稱到像TEDIT:

if PrinterSetupDialog1.Execute() then begin 

txtPrinterName.Text := Printer.Printers[Printer.PrinterIndex]; 
ConfigINI.modified := true; 

end; 

我的問題是,執行該PrinterSetupDialog時,總是選擇在啓動同一臺打印機。我可以切換到另一個確定和TEdit填寫好。


我想要做的是:

執行PrinterSetupdialog之前

有它對話框的選擇打印機設置爲一個在TEDIT例如:

PrinterSetupDialog.PrinterSelectedAtExecute := txtPrinterName.Text; 

幫助表示讚賞。謝謝。

回答

9

您可以使用Printer函數設置打印機設置對話框的初始選定打印機。

uses 
    Printers; 
... 
... 
begin 
    Printer.PrinterIndex:=Printer.Printers.IndexOf(txtPrinterName.Text); 
    PrinterSetupDialog1.Execute; 
end; 
+0

謝謝!有效! :) – Prozi