Wie kann ich in einem ListView mit vsReport ViewStyle die Schriftfarbe nur eines einzelnen Spaltentitels anpassen? Zum Beispiel (die Überschrift der zweiten Spaltenüberschrift hat eine rote Schriftfarbe):
Ich würde die NM_CUSTOMDRAW
Header-Benachrichtigungscode und antworten Sie auf diese Benachrichtigung mit dem CDRF_NEWFONT
-Rückgabecode in der Rendering-Phase CDDS_ITEMPREPAINT
. Der folgende Code zeigt, wie die Listenansichts-Steuerelemente so erweitert werden, dass sie das Ereignis zum Festlegen der Schriftfarbe für die Kopfzeile enthalten:
Das gesamte Projekt können Sie hier herunterladen . Hier ist das Ergebnis des obigen Beispiels:
Sie können das native Header-Steuerelement aus der Listenansicht abrufen und dann das spezifische Element Ihrer Spalte als Eigentümer zeichnen. Sie müssen nur die Textfarbe ändern (wenn Sie das Zeichen string nicht entfernen), wenn das Kopfzeilenelement angefordert wird, um gezeichnet zu werden. Die Zeichnungsnachricht wird an das übergeordnete Element der Kopfzeile gesendet - die Listenansicht. Daher müssen Sie die Nachricht dort verarbeiten. Siehe hier für von Eigentümern erstellte Header-Steuerelemente.
Beispielcode:
%Vor%Tags und Links windows delphi delphi-xe2 listview columnheader