LlPrintStart

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 vor­ein­ge­stellt, welches anschließend über Ll­Print­SetOption­String(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 LlPrintWith­Box­Start().

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 LlPrint­Abort(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