LL_­CMND_­PROJECT

Aufgabe:

Ermöglicht es, zusätzliche Zeichnungen im Etiketten- oder Karteikarten-Projekt auszugeben.

Dieser Callback wird nur bei Etiketten- und Karteikartenprojekten ausgelöst, bei Listenobjekten verwenden Sie anstatt dessen LL_­CMND_­PAGE.

Aktivierung:

LlSetOption(hJob,LL_­OPTION_­CALLBACKMASK,<andere Flags> | LL_­CB_PROJECT);

Parameter:

lParam zeigt auf eine scLlProject-Struktur:

_­nSize: Größe der Struktur, sizeof(scLlProbject)

_­bPreDraw: TRUE bei Aufruf, bevor List & Label die Seite zeichnet, FALSE bei Aufruf, nachdem List & Label die Seite gezeichnet hat.

_­bDesignerPreview: TRUE, wenn der Aufruf vom Designer-Preview stattfindet, FALSE, wenn der Aufruf während des Echtdaten-Preview oder des Drucks stattfindet.

_­hPaintDC: Device Context für die Ausgaben

_­hRefDC: Device Context für Referenzen

_­rcPaint: Rechteck, in dem das Projekt gezeichnet werden soll. Der Mapping-Mode ist in der eingestellten Einheit, z. B. mm/100.

Rückgabewert (_lResult):

0

Hinweise:

In diesem Callback darf keine List & Label-Funktion aufgerufen werden, die Ausgaben zur Folge hat (LlPrint(), etc.)! Funktionen wie LlPrintGetCurrent­Page() oder LlPrintGetOption() oder auch LlPrintEnableObject() sind erlaubt.

Siehe: Hinweise zur Benutzung von GDI-Objekten.

Diese Funktion wird pro Seite zwei Mal aufgerufen, einmal mit _­bPreDraw = TRUE, dann mit _­bPreDraw = FALSE.

Beispiel:

case LL_­CMND_­PROJECT:
   pSCP = (PSCLLPROJECT)pSC->_­lParam;
   if (pSCP->_­bPreDraw)
   {
      FillRect(pSCL->_hPaintDC, pSCL->_­rcPaint,
         GetStockObject(LTGRAY_­BRUSH));
   }
   break;