Entwickler-Ecke

Windows API - Druckertreiberdialog


emkay - So 28.09.03 10:46
Titel: Druckertreiberdialog
Hallo, ich rufe per Programmcode selbständig den Druckertreiberdialog auf. (Also ohne Umweg über den PrintDialog.)

Dabei nutze ich die Funktion DocumentProperties.

Im Prinzip funktioniert alles ohne Fehler, nur wenn ich zur Laufzeit diverse Einstellungen im Dialog verändert habe und mit OK bestätige hat sich an den Einstellungen in der DEVMODE-Struktur scheinbar nichts geändert!

Hat jemand Erfahrung? Was mache ich falsch oder was vergesse ich?

HELP!!


CenBells - So 28.09.03 12:05

hallo,

zeig mal den quellcode, wie du das machst. Ohne ist es so schwer zu wissen, was du machst -> Meine Glaskugel ist nur voller Rauch :wink:

Gruß
Ken


emkay - So 28.09.03 16:43

Okay, hier mein Quelltext:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
  Printer.GetPrinter(MyPrinter, MyDriver, MyPort, DevMode);
  OpenPrinter(MyPrinter, PrinterHandle, nil);

  size := DocumentProperties(Form1.Handle, PrinterHandle,MyPrinter,nullmode^,nullmode^,0);

  GetMem(MDevMode, Size);

  DocumentProperties(Form1.Handle, PrinterHandle,MyPrinter,nullmode^,MDevmode^,DM_IN_PROMPT);
  DocumentProperties(Form1.Handle, PrinterHandle,MyPrinter,mdevmode^,mdevmode^,DM_IN_BUFFER);

//  Printer.SetPrinter(MyPrinter, MyDriver, MyPort, DevMode);
  FreeMem(MDevMode);

  ClosePrinter(PrinterHandle);