Einzelnen Beitrag anzeigen

Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#1

In einem TreeView einen Knoten erstellen

  Alt 2. Nov 2019, 16:12
Delphi-Version: 5
Hi zusammen

Mit folgendem Code zeige ich in meinem PathfinderFrame ein Popup an, um unter einem selectierten Parent einen neuen TreeNode (und schliesslich einen neuen Ordner) zu erstellen:
Delphi-Quellcode:
procedure TOpenFileFrame.TVFilesExplorerContextPopup(Sender: TObject;
  MousePos: TPoint; var Handled: Boolean);
  var P: TPoint; AnItem: TTreeNode;
      X,Y: integer;
begin
  X := MousePos.X;
  Y := MousePos.Y;
  AnItem := TVFilesExplorer.GetNodeAt(MousePos.X, MousePos.Y);
  FPopUpNode := AnItem;
  FPopUpPath := PNameRec(AnItem.Data)^.RealName;
...
  P := ClientToScreen(Point(x,y));
  PopupMenu1.Popup(P.X, P.Y);
end;

procedure TOpenFileFrame.Ordnererstellen1Click(Sender: TObject);
  var Node: TTreeNode; LIsdirectory: Boolean;
      NameRec: PNameRec; LCaption, LRealName, X,Y: String;
begin
  LCaption:= PNameRec(FPopUpNode.Data)^.Caption;
  LRealName := PNameRec(FPopUpNode.Data)^.RealName;
  LIsdirectory := PNameRec(FPopUpNode.Data)^.IsDirectory;
  if LIsdirectory then
  begin
    Node.ImageIndex := 3;
    Node.SelectedIndex := 3;
    Node := TVFilesExplorer.Items.AddChild(FPopUpNode, 'Neu');
    X := Node.Text;
    Node.EditText;
// TVFilesExplorer.Selected := Node;
// TVFilesExplorer.Selected.EditText;
  end
  else
  begin
    Showmessage('Der Ordner kann nicht erstellt werden.');
  end;
end;
Der Knoten wird zwar erstellt, aber er klebt links oben in der Ecke des Treeviews. Was mache ich falsch?

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat