Einzelnen Beitrag anzeigen

madas

Registriert seit: 9. Aug 2007
207 Beiträge
 
#8

AW: Mehrzeiliger Header im VST

  Alt 22. Jun 2011, 10:37
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.
Also wenn ich beim Überfliegen Deiner Unit nichts übersehen habe, dann frag ich mich, wo der Teil mit dem mehrzeiligen Header sein soll.

Mehr als einen Gradient als Hintergrundbild zu zeichnen macht die Unit doch nicht.

Grüße.

PS: Hier was rauskommt, wenn man obigen Quelltext verwendet (Header und eine Datenzelle).

http://img847.imageshack.us/img847/4314/vstheader.jpg

Geändert von madas (22. Jun 2011 um 10:49 Uhr)
  Mit Zitat antworten Zitat