Forum: Programmieren allgemein
by jaenicke,
18. Jun 2017
Warum benutzt du denn DT_SINGLELINE? Es können doch direkt mehrere Zeilen ausgegeben werden.
Forum: Programmieren allgemein
by jaenicke,
17. Jun 2017
Was hast du denn für eine Delphiversion und woher hast du den VST heruntergeladen?
Richtig wäre hier ausgecheckt:
https://github.com/Virtual-TreeView/Virtual-TreeView
Forum: Programmieren allgemein
by jaenicke,
17. Jun 2017
Weil du den Wert einfach hineinschreibst statt es zu machen wie ich geschrieben habe. ;-)
Im Anhang funktioniert es und die Pointerspielerei ist auch raus.
Die soll auch nicht raus, die Daten sollen schon extern liegen. Aber siehe Anhang.
Forum: Programmieren allgemein
by jaenicke,
17. Jun 2017
Ich würde das ganze mit den Pointern und Records lassen und lieber Klassen dranhängen. In den aktuellen Versionen des VST geht es auch generisch:type
TTest = class
private
FValue: Integer;
procedure SetValue(const Value: Integer);
public
constructor Create(const AValue: Integer);
property Value: Integer read FValue write SetValue;
end;
Forum: Programmieren allgemein
by jaenicke,
17. Jun 2017
Ich schreibe das mal separat, damit du eine Benachrichtigung siehst:
Höhe ändern geht einfach, aber man muss es aktivieren (aus Performancegründen):
Unter TreeOptions --> MiscOptions den Wert toVariableNodeHeight auf True setzen.
Dann funktioniert OnMeasureItem.
Forum: Programmieren allgemein
by jaenicke,
17. Jun 2017
procedure TForm2.VSTGetText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType; var CellText: string); // CellText !!!
var
Data: PTreeData;
begin
Data := VST.GetNodeData(Node);
case Column of
0:
Text := Data.Col1; // nicht Text !!
1:
Text := Data.Col2;