Utilisation TreeView Enfant

Signaler
-
Messages postés
201
Date d'inscription
samedi 15 novembre 2003
Statut
Membre
Dernière intervention
4 novembre 2020
-
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

Messages postés
261
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
3 novembre 2020
12
Salut,
var
Node : TTreeNode;
begin
Node := TreeView1.Selected;
TreeView1.Items.AddChild(Node,Format('Enfant de %s',[Node.Text]));
end;

@+
Messages postés
201
Date d'inscription
samedi 15 novembre 2003
Statut
Membre
Dernière intervention
4 novembre 2020
7
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.