Syntax:
INT LlPrintStart (HLLJOB hJob, UINT nObjType, LPCTSTR lpszObjName, INT nPrintOptions, INT nReserved);
Aufgabe:
Öffnet das Projekt zum Drucken.
Parameter
hJob: List & Label-Job-Handle
nObjType: LL_PROJECT_LABEL, LL_PROJECT_LIST oder LL_PROJECT_CARD
lpszObjName: Der Dateiname des Projekts mit Dateiendung
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. |
kann mit LL_PRINT_MULTIPLE_JOBS ODER-verknüpft werden, damit der Druckjob in mehrere kleinere Einzeljobs gesplittet wird und der Druck dadurch schon beginnen kann. Die Seitenanzahl, nach der der Job gesplittet werden soll, kann mit LlPrintSetOption() eingestellt werden.
nReserved: Für zukünftige Erweiterungen
Rückgabewert:
Fehlercode
Hinweise:
Bitte unbedingt den Rückgabewert auswerten!
nPrintOptions kann mit LL_PRINT_MULTIPLE_JOBS ODER-verknüpft werden, damit der Druckjob in mehrere kleinere Einzeljobs gesplittet wird. Die Seitenanzahl, nach der der Job gesplittet werden soll, kann mit LlPrintSetOption() eingestellt werden.
Es wird keine Fortschrittsanzeige durch List & Label dargestellt, dies geschieht über LlPrintWithBoxStart().
Achten Sie darauf, dass Sie in diesem Fall eine eigene Nachrichtenschleife (Message Loop) implementieren müssen, damit Ihre Anwendung während des Druckvorgangs noch "reagiert" (z. B. sich die Fenster bei einem Anwendungswechsel neu zeichnen etc.) und ein entsprechendes Multitasking auf dem System noch möglich ist.
Mit "Nachrichtenschleife" ist die Message-Loop
while
(PeekMessage(hWindow,&msg,0,0,PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
<wenn Abbruch gewünscht>
{
LlPrintAbort(hJob);
}
gemeint, die eingesetzt werden sollte, wenn nicht die Abbruch-Box von List & Label benutzt wird, da ansonsten alle anderen Programme während des Ausdrucks keine optimale Rechnerzeit zugeteilt bekommen.
Beim Drücken eines etwaigen eigenen Abbruch-Buttons muss LlPrintAbort(HLLJOB) aufgerufen werden. Dadurch wird bei allen folgenden LlPrint....-Aufrufen immer der Fehlercode LL_ERR_USER_ABORTED zurückgegeben.
Bei Delphi können Sie statt dieser Schleife Application.ProcessMessages, bei Visual Basic DoEvents aufrufen.
Beispiel:
HLLJOB hJob;
hJob =
LlJobOpen(0);
if(LlPrintStart(hJob, LL_PROJECT_LABEL,
"test.lbl", LL_PRINT_NORMAL)== 0)
{
<... etc
...>
LlPrintEnd(hJob);
}
else
MessageBox(NULL, "Fehler", "List & Label",
MB_OK);
LlJobClose(hJob);
Siehe auch:
LlPrintWithBoxStart, LlPrintEnd, LlPrintSetOption