Thema: Delphi VirtualTreeView - Fragen

Einzelnen Beitrag anzeigen

rayj

Registriert seit: 18. Okt 2005
46 Beiträge
 
#1

VirtualTreeView - Fragen

  Alt 25. Jan 2008, 15:02
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?
  Mit Zitat antworten Zitat