Das ist kein großes Problem, da das ganze selbstverständlich gekapselt ist. Die aktuellen Quelltexte möchte ich nicht posten, da es sich nicht um ein Open Source Projekt handelt. Ich poste aber einmal die alte, noch nicht so schön geschriebene Variante von vor 5 Jahren. Die entsprechende
Unit liegt im Anhang.
Benutzung:
Die
Unit GraphicUtilities in die uses, in Header.Options des VirtualStringTrees hoOwnerDraw aktivieren und diese beiden Events füllen:
Delphi-Quellcode:
procedure TYourForm.YourVirtualStringTreeAdvancedHeaderDraw(Sender: TVTHeader; var PaintInfo: THeaderPaintInfo;
const Elements: THeaderPaintElements);
begin
DrawListViewHeader(Sender, PaintInfo, Elements, HOVER_TYPE_DOUBLE);
end;
procedure TYourForm.YourVirtualStringTreeHeaderDrawQueryElements(Sender: TVTHeader;
var PaintInfo: THeaderPaintInfo; var Elements: THeaderPaintElements);
begin
Elements := [hpeBackground, hpeText];
end;
Ich denke das zeigt wie es funktioniert, mehrzeilig usw. müsste noch eingebaut werden.