29.11.2012 Aufrufe

combit List & Label - Programmierer-Referenz - combit GmbH

combit List & Label - Programmierer-Referenz - combit GmbH

combit List & Label - Programmierer-Referenz - combit GmbH

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Callbacks und Notifications<br />

Hinweise:<br />

144<br />

In diesem Callback darf keine <strong>List</strong> & <strong>Label</strong>-Funktion aufgerufen werden, die Ausgaben<br />

zur Folge hat (LlPrint(), etc.)! Funktionen wie LlPrintGetCurrentPage() oder<br />

LlPrintGetOption() sind erlaubt.<br />

Siehe: Hinweise zur Benutzung von GDI-Objekten.<br />

Diese Funktion wird pro Objekt zwei Mal aufgerufen, einmal mit _bPreDraw =<br />

TRUE, dann mit _bPreDraw = FALSE.<br />

_bPreDraw = TRUE:<br />

Verwendung: Man kann z.B. einen eigenen Hintergrund zeichnen oder das Objekt<br />

verstecken.<br />

Beachten Sie, dass die Objekte von <strong>List</strong> & <strong>Label</strong> möglicherweise kleiner gezeichnet<br />

werden als das Rechteck angibt, z.B. bei <strong>List</strong>enobjekten, die keine fixe Größe<br />

besitzen. Wenn Sie beim Aufruf _rcPaint verändern, hat dies Auswirkungen auf<br />

die Größe des Objekts, denn das Objekt wird von <strong>List</strong> & <strong>Label</strong> in das hier angegebene<br />

Rechteck gezeichnet.<br />

_bPreDraw = FALSE:<br />

Verwendung: Man kann z.B. einen eigenen Hintergrund und/oder Schatten zeichnen,<br />

denn erst dann ist die wahre Größe des Objekts bekannt. Das Rechteck _rcPaint<br />

ist hier das korrekte Objekt-Rechteck. Wenn Sie beim Aufruf _rcPaint verändern,<br />

hat dies Auswirkungen auf angehängte Objekte, denn die Daten von _rcPaint<br />

werden als Objektrechteck verwendet, das wiederum die Koordinaten<br />

räumlich angehängter Objekte beeinflusst!<br />

Beispiel:<br />

case LL_CMND_OBJECT:<br />

pSCO = (PSCLLOBJECT)pSC->_lParam;<br />

if (pSCO->_nType == LL_OBJ_RECT && !pSCO->_bPreDraw)<br />

{<br />

FillRect(pSCO->_hPaintDC, pSCF->_rcPaint,<br />

GetStockObject(LTGRAY_BRUSH);<br />

}<br />

break;<br />

LL_CMND_PAGE<br />

Aufgabe:<br />

Ermöglicht es, zusätzliche Zeichnungen auf der Seite unterzubringen. Interessant<br />

ist dies beispielsweise bei Etikettendruck, da man so zusätzliche Informationen<br />

auf eine Seite malen kann.<br />

Aktivierung:<br />

LlSetOption(hJob, LL_OPTION_CALLBACKMASK, | LL_CB_PAGE);

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!