LL_CMND_PROJECT

Task:

Enables the programmer to place additional drawings in a label or file card project (an individual label, for example).

This callback only occurs with label and file card projects. With list objects, it would be identical to LL_CMND_PAGE.

Activation:

LlSetOption(hJob, LL_OPTION_CALLBACKMASK,
      <other Flags> | LL_CB_PROJECT);

Parameters:

lParam points to an scLlProject structure:

_nSize: Size of the structure, sizeof(scLlProject)

_bPreDraw: TRUE for a call before List & Label draws the page.
FALSE for a call after List & Label has drawn the page.

_bDesignerPreview: TRUE if the call takes place from the Designer preview.
FALSE if the call takes place during the WYSIWYG preview or print.

_hPaintDC: Device Context for the print

_hRefDC: Device Context for references

_rcPaint: Rectangle in which the object should be drawn. The mapping mode is in the normal drawing units, mm/10, inch/100 or inch/1000.

Return Value:

0

Hints:

In this callback no List & Label function may be called which will produce output (LlPrint(), etc.)! Functions like LlPrintGetCurrentPage(), LlPrintGetOption() or LlPrintEnableObject() are allowed.

See: Hints on the use of GDI-objects.

This function is called twice per page, once with _bPreDraw = TRUE, then with _bPreDraw = FALSE.

Example:

case LL_CMND_PROJECT:
   pSCP = (PSCLLPROJECT)pSC->_lParam;
   if (pSCP->_bPreDraw)
   {
      FillRect(pSCL->_hPaintDC, pSCL->_rcPaint,
         GetStockObject(LTGRAY_BRUSH);
   }
   break;