Forum: Object-Pascal / Delphi-Language
Delphi
by marabu,
5. Aug 2006
Borlands Komponente TTreeView kapselt ein MS Common Control, welches intern stark mit Nachrichten arbeitet. Der Owner darf zwar nil sein, aber die property Parent nicht. Um das Control ohne Visualisierung zu benutzen muss man es als message only window betreiben:
var
tv: TTreeView;
begin
tv := TTreeView.CreateParented(THandle(-3));
tv.Items.AddChild(nil, 'hello');
// ...
end;
Forum: Object-Pascal / Delphi-Language
Delphi
by marabu,
5. Aug 2006
Das Ergebnis ist eine Instanz von TTreeNodes und nicht von TTreeView.
Spätestens jetzt weißt du um die Bedeutung einer vollständigen und fehlerfreien Problembeschreibung.
Deine Überlegung ist grundsätzlich nicht falsch, aber zwei Dinge stehen dir im Weg: zuerst sind TreeNodes und TreeView per Design miteinander verwoben und dann fehlt dir ja auch ein Operator zum Mischen von...
Forum: Object-Pascal / Delphi-Language
Delphi
by marabu,
5. Aug 2006
Hallo Stefan,
du musst beim Aufruf von TTreeNodes.Create() eine TreeView als Owner angeben, weil z.B. die Methode AddChild() intern die Methode Owner.CreateNode() aufruft um den neuen Knoten zu erzeugen. Aber dein Ziel kannst du auch einfacher erreichen: verwende die Methoden BeginUpdate() und EndUpdate() um den Aufbau der Nodes ungestört von irgendwelchen Events vornehmen zu können.
Grüße...