Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi VirtualTreeView - Fragen (https://www.delphipraxis.net/107306-virtualtreeview-fragen.html)

rayj 25. Jan 2008 15:02


VirtualTreeView - Fragen
 
Hi,
Ein Neuling der vor kurzem die VirtualTreeView entdeckt hat, sucht Rat.

Ich benutze so eine TreeView für eine Kategorien Auflistung. Die Kategorien/Subkat. befinden sich in einer SQL Datenbank und werden bei jedem Expand-Event herausgelesen und hinzugefügt.

Allerdings muss ich auch neue Kategorien anlegen können. Habe dazu folgenden Code geschrieben:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
node: PVirtualNode;
data: PTreeData;
begin
if tree.FocusedNode <> nil then begin
node := tree.AddChild(tree.FocusedNode);
data := tree.GetNodeData(node);
data.Name := tree.Text[node, 0];
tree.Selected[node] := true;
tree.EditNode(node, 0);
end;
Dies erstellt einen neuen Node als Child des selektierten Nodes, setzt den Fokus darauf und aktiviert den editing Modus.

Beim "OnNewText" Event habe ich jetzt ein paar Zeilen geschrieben, die den eingegeben Text in die Daten des neuen Nodes schreibt.

Allerdings wird auch ein leerer Text angenommen. Wenn nichts eingegeben wird, sollte der neu erstellte Node eigentlich gelöscht werden.
Doch irgendwie krieg ich das nicht hin, bei welchem Ereignis ich auch immer versuche.
OnNewText, onEditingCanceled etc.

Wo würdet ihr sowas schreiben?


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz