Syntax:
INT LlPrintWithBoxStart (HLLJOB hJob, UINT nObjType, LPCTSTR lpszObjName, INT nPrintOptions, INT nBoxType, HWND hWnd, LPCTSTR lpszTitle);
Aufgabe:
Öffnet das Projekt zum Drucken mit Abbruch-Fenster. Wenn Sie einen Datenprovider als Datenquelle verwenden, können hier auch mehrere Projektdateien semikolonsepariert übergeben werden. Dann wird ein Kombinationsdruck durchgeführt und die Ausgaben der einzelnen Projekte als Gesamtausgabe zusammengefasst. Dabei können Sie auf den Callback LL_NTFY_COMBINATIONPRINTSTEP reagieren.
Parameter
hJob: List & Label-Job-Handle
nObjType: LL_PROJECT_LABEL, LL_PROJECT_LIST oder LL_PROJECT_CARD
lpszObjName: Der Dateiname des Projekts mit Dateiendung.
Beim Kombinationsdruck mit semikolonseparierter Liste können zusätzlich über die Syntax "JOB=..." eigene Informationen für den Callback LL_NTFY_COMBINATIONPRINTSTEP bereitgestellt werden. Neben "JOB=" stehen außerdem die Identifier "TOC=" (Inhaltsverzeichnis), "IDX=" (Index) und "GTC=" (Rückseite) zur Verfügung. Bitte beachten Sie, dass beim Kombinationsdruck nur jeweils ein Projekttyp (Etikett, Karteikarte oder Liste) möglich ist und diese nicht gemischt werden können. Beispiel: "C:\temp\Deckblatt.lst;JOB=MyValue;C:\temp\Bericht.lst"
nPrintOptions: Druck-Optionen:
|
Wert |
Bedeutung |
|
LL_PRINT_NORMAL |
Ausgabe auf Drucker |
|
LL_PRINT_PREVIEW |
Ausgabe auf Preview-Dateien |
|
LL_PRINT_FILE |
Ausgabe in Datei |
|
LL_PRINT_EXPORT |
Als Ausgabemedium wird ein Exportmodul voreingestellt, welches anschließend über LlPrintSetOptionString(LL_PRNOPTSTR_EXPORT) festgelegt werden kann. |
Diese Optionen können jeweils mit den folgenden Flags ODER-verknüpft werden:
|
Wert |
Bedeutung |
|
LL_PRINT_MULTIPLE_JOBS |
Ausgabe in mehreren kleinen Druckjobs |
|
LL_PRINT_REMOVE_-UNUSED_VARS |
Vom Projekt nicht benötigte Variablen und Felder werden nach dem Druckstart aus dem internen Puffer gelöscht. Dies kann die folgende Übergabe von Variablen und Feldern deutlich beschleunigen, ist aber nur notwendig, wenn die benötigten Daten nicht zuvor über LlGetUsedIdentifiers() abgefragt werden. |
Die Druckoptionen beeinflussen den Wert von LL_OPTIONSTR_EXPORTS_ALLOWED.
nBoxType:
|
Wert |
Bedeutung |
|
LL_BOXTYPE_STDABORT |
Abbruch-Box mit Systemfortschrittsanzeige |
|
LL_BOXTYPE_NORMALMETER |
Abbruch-Box mit Balken-Fortschrittsanzeige |
|
LL_BOXTYPE_BRIDGEMETER |
Abbruch-Box mit Brücken-Fortschrittsanzeige |
|
LL_BOXTYPE_EMPTYABORT |
Abbruch-Box mit Text |
|
LL_BOXTYPE_STDWAIT |
Box mit Systemfortschrittsanzeige, kein Abbruchbutton |
|
LL_BOXTYPE_NORMALWAIT |
Box mit Balken-Fortschrittsanzeige, kein Abbruchbutton |
|
LL_BOXTYPE_BRIDGEWAIT |
Box mit Brücken-Fortschrittsanzeige, kein Abbruchbutton |
|
LL_BOXTYPE_EMPTYWAIT |
Box mit Text, kein Abbruchbutton |
|
LL_BOXTYPE_NONE |
Keine Fortschrittsbox |
Beachten Sie, dass der Boxtype-Parameter nur aus Kompatibilitätsgründen zu älteren Betriebssystemen hier aufgeführt ist. Standardmäßig wird die Standardfortschrittsbox des Betriebssystems genutzt.
hWnd: Fenster-Handle des aufrufenden Programms (für die Dialog-Box)
lpszTitle: Titel der Dialogbox, erscheint auch als Text im Druck-Manager
Rückgabewert:
Fehlercode
Hinweise:
Bitte unbedingt den Rückgabewert auswerten!
Es wird eine anwendungsmodale Fortschrittsanzeige dargestellt, deren Titel durch den oben angegebenen Parameter definiert wird. In der Dialogbox befindet sich ein Prozent-Meter-Control und ein 2-zeiliger statischer Text, die beide über LlPrintSetBoxText() gesetzt werden können, um dem Benutzer den Druckfortschritt anzuzeigen, und bei Anforderung (s. u.) noch ein Abbruch-Button.
Falls keine Fortschrittsanzeige durch List & Label dargestellt werden soll, verwenden Sie anstatt dessen LlPrintStart().
Beispiel:
HLLJOB hJob;
hJob = LlJobOpen(0);
if
(LlPrintWithBoxStart(hJob, LL_PROJECT_LABEL, "test.lbl",
LL_PRINT_NORMAL, LL_BOXTYPE_NORMALMETER, hWnd, "Ausdruck") ==
0)
{
LlPrintSetBoxText(hJob, "Drucke...", 0);
<... etc...>
LlPrintEnd(hJob,
0);
}
else
MessageBox(NULL, "Fehler", "App",
MB_OK);
LlJobClose(hJob);
Siehe auch:
LlPrintStart, LlPrintEnd, LlPrintSetBoxText