
Beim Abschließen eines Druckjobs über die Funktion PrtJobClose()
und der Option _PrtJobPreview
erzeugt der CONZEPT 16-Client ein Fenster, in dem das Ergebnis der Druckaufbereitung angezeigt wird. Auch wenn es sich bei diesem Frame um einen CONZEPT 16-Systemdialog handelt, besteht für den Entwickler ein Zugriff auf die Objekte des Dialogs. Somit lässt sich die Druckvorschau für eigene Bedürfnisse anpassen.
Zugriff auf das Fenster der Druckvorschau
Das Fenster-Objekt der Druckvorschau wird ausgehend vom Druckjob-Objekt mit Hilfe der Funktion PrtInfo()
und der Option _PrtFrame
ermittelt.
// Druckjob öffnen
tJob # PrtJobOpen('MyPrintDoc','',_PrtJobOpenWrite |
_PrtJobOpenTemp);
// Frame-Objekt ermitteln
tPrVw # tJob->PrtInfo(_PrtFrame);
Referenzieren der Objekte
Ist der Deskriptor des Fensters bekannt, lassen sich die Objekte über ihren Namen ansprechen. Das nachfolgende Codefragment zeigt dies exemplarisch anhand eines Beispiels. Die Aufgabenstellung besteht darin, den Button “Drucken” um eine Beschriftung und einen individuellen Tooltip zu erweitern. Zusätzlich soll über die Tastenkombination Strg + P der Button ausgelöst werden.
// Button "Drucken" ermitteln
tObj # tPrVw->PrtSearch('PpvTbnPrint');
// Text unterhalb des Bildes anzeigen
tObj->wpImageOption # _WinImgTextBelow;
// Button mit Text versehen
tObj->wpCaption # 'Drucken';
// Tastenkombination setzen
tObj->wpMenuKey # _WinKeyCtrl | _WinKeyP;
// HelpTip setzen
tObj->wpHelpTip # 'Drucken des Dokuments';
Die Verwendung der Notation $Objektname ist ebenfalls möglich. Dazu wird der Suchpfad auf das Fenster-Objekt gesetzt.
// Frame-Objekt ermitteln
tPrVw # tJob->PrtInfo(_PrtFrame);
// Suchpfad setzen
tPrVw->WinSearchPath();
// Text unterhalb des Bildes anzeigen
$PpvTbnPrint->wpImageOption # _WinImgTextBelow;
Das Beispiel gibt lediglich einen kleinen Überblick über die Möglichkeiten. Da die Objekte der Druckvorschau über die Eigenschaften der Objekte aus der Objekt-Palette verfügen, ist noch einiges mehr machbar. So ließen sich sogar die Bilder der Buttons durch selbst definierte ersetzen, um in der Applikation ein einheitliches Look and Feel zu erreichen. Eine Aufstellung aller verfügbaren Objekte findet sich in der CONZEPT 16-Dokumentation.
Besonderheiten
- Die Objekte erwarten die übergebenen Zeichenketten im UTF-8 Zeichensatz. Damit Sonderzeichen korrekt dargestellt werden können, muss die Zeichenkette nach UTF-8 gewandelt werden:
tObj->wpCaption #
StrCnv(StrCnv('Vergrößern',_StrToUTF8),_StrFromANSI);Alternativ kann die Flags-Eigenschaft des Application-Objekts (
_App
) auf_WinAppPrtJobPreviewC16
gesetzt werden. In diesem Fall verarbeitet die Druckvorschau die Zeichen im CONZEPT 16-Zeichensatz. - Die Anzeige der von CONZEPT 16 vorgegebenen Bezeichnungen und Tooltips kann neben deutsch auch in englischer Sprache erfolgen:
// Anzeige erfolgt auf englisch
_App->wpLangDisplay # 'EN';// In Abhängigkeit der Sprache des Betriebssystems (deutsch oder englisch)
_App->wpLangDisplay # '*U';