LlPrintWithBoxStart

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 vor­ein­ge­stellt, welches anschließend über Ll­Print­SetOption­String(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 Druck­jobs

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 Ab­bruch­button

LL_­BOXTYPE_­NORMALWAIT

Box mit Balken-Fortschrittsanzeige, kein Ab­bruch­button

LL_­BOXTYPE_­BRIDGEWAIT

Box mit Brücken-Fortschrittsanzeige, kein Ab­bruch­button

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 Druck­fortschritt 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