SPrintDok

Druckt ein Dokument. [Mehr ...]

Vererbung

Basisklassen(n)   abgeleitete Klassen
  SPrintDok
SLetter

Attribute

public:

Attribut Typ Beschreibung
pageSize SSize Seitengröße
printArea SRectc druckbarer Bereich in logischen Koordinaten (1/100mm)

protected:

Attribut Typ Beschreibung
docinfo DOCINFO Dokumenteninformationen
API-Struktur
pageNumbers int
printerinfo PRINTDLG Daten des Print-Dialogs

Operationen

public:

Name Parameter Rückgabewert Beschreibung
abortHandler HDC hdc, int errorID BOOL CALLBACK Wird coninuierlich vom System gerufen und gibt somit die Möglichkeit des Abbruchs des Druckauftrages.
calcPages void Diese Funktion löst onCalcPages() aus und sollte aufgerufen werden, wenn sich Darstellungsänderungen ergeben haben.
getPageCount int Gibt die Gesamt-Anzahl der Seiten zurück.
loadPrinterInfos void lädt Printer daten
previewEnd void Muss bei Beendigung des Previews aufgerufen werden.
previewPaintPage int pageNumber,
SDevice& device
void Zeichnet eine Seite auf eine übergeben DeviceContext.
previewStart void Bereitet das Zeichnen der Vorschau vor. Es wird onPreparePrinting(..) ausgelöst.
print SWindow* pWindow BOOL Druckt das Dokument.

protected:

Name Parameter Rückgabewert Beschreibung
init void Initialisiert das Dokument.
onCalcPages int Diese Funktion berechnet die Gesamtzahl der Seiten. Sie sollte in der abgeleiteten Klasse überschrieben werden.
onPaintPage int pageNumber,
SDevice& device
BOOL Wird aufgerufen wenn eine Seite gedruckt werden soll.
onPreparePrinting BOOL Ereignisfunktion, die gerufen wird bevor der Druck ausgeführt wird.
showPrintDlg SWindow* pWindow,
int minPage,
int maxPage,
SDevice& device
BOOL Zeigt den Druckdialog des Betriebssystems an.

Detailbeschreibung SPrintDok

Druckt ein Dokument.


Alle Maßangaben beziehen sich auf links oben in 1/100 Millimetern (z.B. 1000 = 10mm).
Zum Gestalten sollten die Funktionen printer.print..() verwendet werden. (z.B. printText() ).

Beispiel: Bsp:

// Instance des zu druckenden Dokumentes
MyPrintDok dok;
// Druckvorschau-Dialog erzeugen
SPrintPreviewDlg dlg;
SRect r=theApp.pMainWnd->getWindowRect();
dlg.wndStartRect.width=r.width;
dlg.wndStartRect.height=r.height;
dlg.wndStartText="Druckvorschau";
dlg.create(theApp.pMainWnd);
// Druckvorschau öffnen
dlg.showPreview(&dok);
setFocus();

Funktionsbeschreibungen

static abortHandler(HDC hdc, int errorID) BOOL CALLBACK

Wird coninuierlich vom System gerufen und gibt somit die Möglichkeit des Abbruchs des Druckauftrages.

Parameter:

hdc Handle des aktuellen DC
errorID Null wenn kein Fehler vorliegt, sonst Fehlercode z.B. SP_OUTOFDISK

Rückgabe:

BOOL CALLBACK false wenn der Auftrag abgebrochen werden soll.

calcPages() void

Diese Funktion löst onCalcPages() aus und sollte aufgerufen werden, wenn sich Darstellungsänderungen ergeben haben.

getPageCount() int

Gibt die Gesamt-Anzahl der Seiten zurück.

init() void

Initialisiert das Dokument.

loadPrinterInfos() void

lädt Printer daten

onCalcPages() int

Diese Funktion berechnet die Gesamtzahl der Seiten. Sie sollte in der abgeleiteten Klasse überschrieben werden.

Rückgabe:

int Anzahl der Seiten im Dokument

onPaintPage(int pageNumber, SDevice& device) BOOL

Wird aufgerufen wenn eine Seite gedruckt werden soll.

Die Seitennummer wird übergeben. Diese Funktion muss überschrieben und mit der Ausgabe der jeweiligen Seite des Dokuments gefüllt werden.

Parameter:

pageNummber Seitennummer der aktuell zu druckenden Seite

onPreparePrinting() BOOL

Ereignisfunktion, die gerufen wird bevor der Druck ausgeführt wird.

previewEnd() void

Muss bei Beendigung des Previews aufgerufen werden.

previewPaintPage( int pageNumber,SDevice& device) void

Zeichnet eine Seite auf eine übergeben DeviceContext.

Es muß vorher previewStart(..) aufgerufen werden.

Parameter:

pageNumber zu zeichnende Seite
device Device auf das zu zeichen ist

previewStart() void

Bereitet das Zeichnen der Vorschau vor. Es wird onPreparePrinting(..) ausgelöst.

Parameter:

print(SWindow* pWindow) BOOL

Druckt das Dokument.

Zuerst wird der Druck-Dialog des Betriebssystems angezeigt.

Parameter:

pWindow Elternfenster für Nachrichten

Rückgabe:

BOOL true wenn der Druck erfolgreich war

showPrintDlg(SWindow* pWindow, int minPage, int maxPage, SDevice& device) BOOL

Zeigt den Druckdialog des Betriebssystems an.

Benutzt und ändert gegebenenfalls die Member-Variable 'printerinfo'.

Parameter:

pWindow Elternfenster
minPage erste gültige Seitennummer für Von-Bis-Seitenauswahl
maxPage letzte gültige Seitennummer für Von-Bis-Seitenauswahl, wenn gleich minPage kann nur das komplette Dokument gedruckt werden.
device Device auf das gezeichnet werden soll