29.11.2012 Aufrufe

combit List & Label - Programmierer-Referenz - combit GmbH

combit List & Label - Programmierer-Referenz - combit GmbH

combit List & Label - Programmierer-Referenz - combit GmbH

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Druckfortschrittsanzeige und Multitasking<br />

Druckvorgang<br />

Es ist üblich, dem Benutzer eine 'Abbrechen'-Dialogbox anzubieten, mit deren Hilfe er die<br />

Möglichkeit erhält, den Ausdruck abzubrechen. Noch schöner ist es natürlich, wenn der<br />

Benutzer durch diese Box auch noch mitgeteilt bekommt, wie weit der Druck fortgeschritten<br />

ist.<br />

<strong>List</strong> & <strong>Label</strong> bietet eine Funktion an, die eine Druck-Abbruch-Dialogbox mit Fortschrittsanzeiger<br />

und dem Multitasking-Overhead startet. Diese Box kann dann mit den momentan<br />

gültigen Werten (Fortschritt in Prozent, Seitennummer etc.) versorgt werden.<br />

Durch Verwendung dieser Funktion spart man sich außerdem die Nachrichtenschleife,<br />

weil diese in <strong>List</strong> & <strong>Label</strong> implementiert ist.<br />

LlPrintWithBoxStart(hJob, LL_PROJECT_LABEL, buf, LL_PRINT_NORMAL,<br />

LL_BOXTYPE_BRIDGEMETER, hWindow, "Mein Test");<br />

Wenn von dieser Funktion kein Fehler zurückgegeben wurde, hat <strong>List</strong> & <strong>Label</strong> jetzt die<br />

Definition des Projekts eingelesen und ist bereit zum Ausdruck. Der Drucker ist aber zu<br />

diesem Zeitpunkt noch nicht initialisiert, das kommt erst bei dem ersten Aufruf einer<br />

Funktion, die eine Ausgabe provoziert.<br />

Denn jetzt kann (oder muss) man erst noch die Druckparameter einstellen. Wenn man<br />

dem Benutzer die Änderung der Druckparameter gestatten will, ruft man den Dialog<br />

dafür mit<br />

LlPrintOptionsDialog(hJob, hWindow, "Druck-Parameter");<br />

auf. Über LlSetOption() und LlSetOptionString() werden vor diesem Aufruf programmeigene<br />

Standardwerte vorgegeben, man kann beispielsweise unerwünschte Auswahlfelder<br />

im Dialog unterdrücken, z.B. über<br />

LlPrintSetOption(hJob, LL_PRNOPT_COPIES, LL_COPIES_HIDE);<br />

für die Abfrage nach der Zahl der Kopien.<br />

Wenn man (siehe unten) schon jetzt weiß, wie viele Datensätze ausgegeben werden,<br />

könnte man z.B. auch als Titelzeile anzeigen lassen, wie viele Datensätze oder Seiten zu<br />

drucken sind.<br />

Wenn im Dialog "Änderungen permanent" angekreuzt worden ist, wird die gewählte<br />

Druckereinstellung in die entsprechende Drucker-Definitionsdatei gespeichert<br />

(Schreib/Löschrechte müssen vorhanden sein), die alten Einstellungen gehen verloren.<br />

Ursprünglich wird diese im Designer unter Datei-Seitenlayout bestimmt. Wenn diese<br />

Datei nicht vorhanden ist, wird als Druckereinstellung der Windows-Standarddrucker<br />

verwendet.<br />

Einschränkungen der Druckseiten durch den Benutzer<br />

Folgendes müssen Sie beachten, wenn man den Fall, dass der Anwender Anfangs- und<br />

Endseiten angibt, speziell abfragen möchte: die Werte für Anfangs- und Endseite sind<br />

Startseite und INT_MAX (2147483647), wenn "Druck aller Seiten" gewünscht ist. Startseite<br />

ist die angegebene Seitennummer der ersten Seite.<br />

41

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!