LL_CMND_TABLELINE

Aufgabe:

Ermöglicht es, die Farbgebung einzelner Tabellenzeilen zu modifizieren, z. B. um einen eigenen Zebramodus (jede zweite Zeile unterlegt) zu erzeugen.

Aktivierung:

LlSetOption(hJob, LL_­OPTION_­TABLE_­COLORING, LL_­COLORING_­PROGRAM);

Dadurch wird die alleinige Kontrolle der Farbgebung in Tabellen Ihrem Programm überlassen! (die entsprechenden Einstellungsmöglichkeiten im Designer verschwinden dann)

            oder

LlSetOption(hJob, LL_­OPTION_­TABLE_­COLORING, LL_­COLORING_­DONTCARE);

Mit diesem Befehl lässt List & Label erst Ihr Programm den Hintergrund zeichnen, dann zeichnet es den Hintergrund bei Bedarf noch einmal mit dem im Designer definierten Feldhintergrund. Dadurch ist eine Art Kooperation zwischen Programmierer und Benutzer möglich.

Beachten Sie, dass in jedem Falle das Flag LL_CB_TABLELINE über LL_OPTION_CALLBACKMASK gesetzt werden muss.

Parameter:

lParam zeigt auf eine scLlTableLine-Struktur:

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

_­nType: Art des Feldes:

Wert

Bedeutung

LL_­TABLE_­LINE_­HEADER

Kopfzeile

LL_­TABLE_­LINE_­BODY

Datenzeile

LL_­TABLE_LINE_­GROUP

Gruppenkopf

LL_­TABLE_­LINE_GROUPFOOTER

Gruppenfuß

LL_­TABLE_­LINE_­FILL

Füll-Fläche, die entsteht, wenn die Tabelle feste Größe besitzt und unter der letzten Datenzeile noch etwas Freiraum bleibt

LL_­TABLE_­LINE_­FOOTER

Fußzeile

 

_­hPaintDC: Device Context für die Ausgaben

_­hRefDC: Device Context für Referenzen

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

_­nPageLine: Zeilenindex. Bezeichnet die 0-basierte Zeilennummer der Zeile auf dieser Seite.

_­nLine: Zeilenindex. Bezeichnet die 0-basierte Zeilennummer der Zeile im gesamten Ausdruck.

_nLineDef: Die Nummer der Zeilendefinition, die ausgegeben wird.

_­bZebra: TRUE, wenn Benutzer Zebra-Modus gewählt hat.

_­rcSpacing: Werte der Zellen-Abstände

Rückgabewert (_lResult):

0

Hinweise:

In diesem Callback darf keine List & Label-Funktion aufgerufen werden, die Ausgaben zur Folge hat (LlPrint(), etc.)!

Siehe: Hinweise zur Benutzung von GDI-Objekten

Beispiel:

case LL_CMND_TABLELINE:
   pSCL = (PSCLLTABLELINE)pSC->_­lParam;
   if ((pSCL->_­nPageLine % 2) == 1)
      FillRect(pSCL->_hPaintDC, pSCL->_­rcPaint,
         GetStockObject(LTGRAY_­BRUSH);
   pSC._­lReply = 0;
   break;