[gelöst] Spaltennamen im VirtualTreeView anpassen

Rund um die LCL und andere Komponenten
Antworten
catweasel
Beiträge: 230
Registriert: Di 17. Mär 2009, 10:51
OS, Lazarus, FPC: Win10 64Bit // Linux Mint 20.0 - (L 2.2.0 FPC 3.2.2)

[gelöst] Spaltennamen im VirtualTreeView anpassen

Beitrag von catweasel »

Hallo zusammen

Ich arbeite hier mit VirtualTreeView und möchte die erste Spalte beim Klick auf den Header sortieren.
Das funktioniert auch soweit wunderbar. Jetzt möchte ich auch den Spaltennamen mit einem kleinen Pfeil so anpassen das
man erkennen kann wie gerade sortiert ist.

Dazu habe ich u.a. die Zeile

Code: Alles auswählen

VST.Header.Columns.Items[0].CaptionText:='Spalte0 ▼';
eingefügt, jedoch bekomme ich beim kompilieren eine fehlermeldung mit der ich nichts anfangen kann:

Code: Alles auswählen

unit1.pas(199,44) Error: No member is provided to access property

Wie muß die Zeile denn aussehen um den Headernamen der ersten Spalte im VirtualTreeView zu ändern??

Gruß
Michael

Code:

Code: Alles auswählen

//Sortieren 2.Teil
procedure TForm1.VSTHeaderClick(Sender: TVTHeader; Column: TColumnIndex;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  vst.SortTree(Column,Sender.SortDirection,True);
  if Sender.SortDirection=sdAscending then begin
    Sender.SortDirection:=sdDescending;
    VST.Header.Columns.Items[0].CaptionText:='Spalte0 ▼';  <<-- Fehler
  end
  else begin
    Sender.SortDirection:=sdAscending;
    VST.Header.Columns.Items[0].CaptionText:='Spalte0 ▲';  <<-- Fehler
  end;
end;
------

EDIT: Kaum abgeschickt finde ich die Lösung selbst.

Es heißt nicht

Code: Alles auswählen

 VST.Header.Columns.Items[0].CaptionText:='Spalte0 ▲';
sondern

Code: Alles auswählen

 VST.Header.Columns.Items[0].Text:='Spalte0 ▲';

Antworten