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.

11.2. User-Objekte<br />

User-Objekte<br />

Da <strong>List</strong> & <strong>Label</strong> nicht alle möglichen Objekte berücksichtigen kann - seien es Spline-<br />

Objekte, Statistik-Graphen, Charts oder Zeichnungen mit unbekanntem Grafikformat -<br />

wurden in <strong>List</strong> & <strong>Label</strong> die sog. User-Objekte eingebaut, da auch Metafile-Variablen nicht<br />

alle Bereiche sinnvoll abdecken können.<br />

Wenn Sie diese mit der .NET Komponente verwenden wollen, beachten Sie bitte die<br />

Hinweise im Kapitel "7.1. Arbeiten mit der .NET Komponente".<br />

Wenn Sie in Ihrem Programm eine Variable über<br />

LlDefineVariableExt(hJob, , , LL_DRAWING_USEROBJ, NULL);<br />

definiert haben, kann der Benutzer im Designer ein Objekt definieren, das mit dieser<br />

Variablen zusammenhängt. Dies geschieht analog zu normalen LL_DRAWING-Variablen.<br />

Wenn <strong>List</strong> & <strong>Label</strong> dieses Objekt im Preview oder beim Druck ausgeben soll, ruft es über<br />

den Callback LL_CMND_DRAW_USEROBJ Ihr Programm auf, um diese Aufgabe an Ihr<br />

Programm weiterzugeben.<br />

Dasselbe können Sie auch für Tabellenfelder durchführen, damit der Benutzer die Möglichkeit<br />

hat, sich ein User-Objekt in die Tabelle einzubauen:<br />

LlDefineFieldExt(hJob, , , LL_DRAWING_USEROBJ, NULL);<br />

Für Variablen, besteht zusätzlich die Möglichkeit, User-Objekte zu definieren, deren<br />

Parameter der Benutzer im Designer ändern kann. Die Objekte werden mit dem LL_-<br />

DRAWING_USEROBJ_DLG-Typ definiert:<br />

LlDefineVariableExt(hJob, , , LL_DRAWING_USEROBJ_DLG, NULL);<br />

Bearbeitbare User-Objekte können nicht in Tabellen eingefügt werden.<br />

Wenn der Benutzer nun den 'Bearbeiten'-Button im Zeichnungs-Dialog drückt, werden<br />

Sie über den LL_EDIT_USEROBJ-Callback aufgefordert, einen dazugehörigen Dialog<br />

aufzubauen, in dem die Parameter, die zu dem Objekt gehören, geändert werden können.<br />

Diese Parameter werden mit den anderen Objekt-Informationen automatisch in der<br />

Projektdefinitionsdatei gespeichert und zur Auswertung beim LL_DRAW_USEROBJ-<br />

Callback übergeben, so dass Ihr Programm sich nicht weiter um die Speicherung der<br />

Parameter kümmern muss.<br />

Bitte beachten Sie die Hinweise des Artikels 99109<br />

(http://support.microsoft.com/kb/99109) in der Microsoft Developer Network Knowledge<br />

Base, wenn Sie in Callback-Objekten DDBs (device dependent bitmaps) drucken wollen:<br />

Wandeln Sie die DDB erst in eine DIB (device independent bitmap), wenn sie nicht kompatibel<br />

mit dem Drucker-DC ist, ansonsten ist ein irreguläres Verhalten des Druckertreibers<br />

vorprogrammiert.<br />

133

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!