Utilisation TreeView Enfant

GdMargo - 5 juil. 2015 à 19:41
papyvore Messages postés 223 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 16 décembre 2021 - 16 août 2015 à 11:02
Bonjour,
J'aurai une question, comment je peux faire pour par exemple créer l'enfant de tel noeud nommé "Un" avec seulement des lignes de code, car je vois comment faire manuellement en sélectionnant le noeud Parent, mais je voudrais le faire sans sélectionner le noeud Parent manuellement. Lorsque je clic sur le bouton, il me créer l'enfant de untel sans que se soit un noeud directe, le parent pourrai être 5 Noeud derrière.
Pour simplifié l'explication, mon but est de programmer un treeview Automatique comme Windows Explorer.

2 réponses

cs_yanb Messages postés 271 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 7 juillet 2022 14
29 juil. 2015 à 15:00
Salut,
var
Node : TTreeNode;
begin
Node := TreeView1.Selected;
TreeView1.Items.AddChild(Node,Format('Enfant de %s',[Node.Text]));
end;

@+
0
papyvore Messages postés 223 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 16 décembre 2021 15
Modifié par Cirec le 16/08/2015 à 13:23
salut peut être essais ça

function TForm1.TreeItemSearch(TV: TTreeView; SearchItem: string): TTreeNode;
var
  i: Integer;
  iItem: string;
begin
  if (TV = nil) or (SearchItem = '') then Exit;
  for i := 0 to TV.Items.Count - 1 do 
  begin
    iItem := TV.Items[i].Text;
    if SearchItem = iItem then
    begin
      Result := TV.Items[i];
      Exit;
    end 
    else 
    begin
      Result := nil;
    end;
  end;
end;

procedure ajout;
var
  Node: TTreeNode;
begin
  Node := TreeItemSearch(TreeView1, 'NomParent');
  
  if Node <> nil then //si le NomParent existe
  begin
    TrTreeView1.Selected := Node
    TreeView1.Items.AddChild(Node,Format('Enfant de %s',[Node.Text]));
    TrTreeView1.Selected := Node.GetLastChild;
  end; 
end;    


papyvore
n'oubliez pas d'utiliser les balises de code ... Merci.
0
Rejoignez-nous