Warum immer nur den "Windows-Standard" benutzen ? Der ist vielfach eher kontraproduktiv. Auf diversen Forms will ich den Drucker ändern. Aber wie ?
Annahme ist hierbei, dass der Drucker nicht nur für eine einzelne Seite umgestellt werden soll. Der Drucker soll also verwendet werden, ohne den Windows-Standarddrucker umzubiegen. Schreibe den also in eine INI-Datei. Ungefähr so :
Delphi-Quellcode:
procedure Tfrm.btnDruckerClick(Sender: TObject);
var Ini : TIniFile;
begin
inherited;
Ini := TIniFile.Create (ExtractFilePath (ParamStr (0)) + 'XY.INI');;
if dlgDrucker.Execute then begin
if MessageBox(Self.Handle, 'Drucker standardmäßig für Programm benutzen ?',
'Information', MB_ICONINFORMATION or MB_YESNOCANCEL) = idYes then begin
DruckerName := Printer.Printers [Printer.PrinterIndex];
Ini.WriteString('Standardvorgaben','Windows - Drucker',DruckerName);
showmessage ('aktiver Drucker ab jetzt : ' + DruckerName);
end;
end;
Ini.Free;
end;
Es geht um einen Button, der einen PrinterDialog öffnet, um die Auswahl eines Druckers zu ermöglichen. Dieser wird dann einmalig benutzt. Der User hat aber die Alternative, den Drucker auch als Standard für das eigene Programm zu betrachten. Sofern das gewünscht wird, wird der gewünschte Drucker eben in INI-Datei vorgemerkt. Hat er seine 20 Seiten auf dem "nicht - normalen" Drucker ausgedruckt, dann muss er sich eben die Mühe machen, den wieder umzustellen.
P.S.: für andere Programme (Word etc.) hat sich nichts geändert in Richtung Standarddrucker !