Zitat von
PAX:
meinst du soetwas wie:
Code:
TPrinter* druck = new TPrinter();
Ich habe allerdings für die Klasse TPrintDialog keine Attribute gefunden, wo ich den ausgewählten Drucker abfangen und dem Objekt der TPrinter-Klasse zuweisen kann.
So was in der Richtung meinte ich. Der aktuell ausgewählte Drucker wird in einer globalen Variable gespeichert. Es sollte deswegen eine Methode geben, mit der Signatur
Code:
TPrinter* printer(void) {...}
Die gibt Dir eben den aktuellen Drucker zurück, anders gesagt der TPrintDialog setzt die Variable, die hier zurückgeliefert wird für Dich. Danach sollte diese Methode eben den ausgewählten Drucker (mit eingestellten Eigenschaften) liefern. Die angesprochene Funktion sollte (bei Borland) in einer Datei wie Printers.h deklariert sein (hier kann natürlich der Name abweichen, aber denke müsste hinkommen).
Zudem kannst Du das GetDC weglassen. Das ist nur nötig, wenn Du ein Fensterhandle übergeben würdest. Der Code hätte eher die Form:
Code:
TPrinter* druck = printer();
int height = GetDeviceCaps(druck->
Handle, PHYSICALHEIGHT);
...
Gruß