Forcer la selection dans un TTreeView [Résolu]

Signaler
Messages postés
95
Date d'inscription
mardi 15 mars 2005
Statut
Membre
Dernière intervention
2 juillet 2007
-
Messages postés
29
Date d'inscription
samedi 16 octobre 2004
Statut
Membre
Dernière intervention
12 mai 2010
-
bonjour,

je voudrais savoir s'il est possible de forcer la selection dans un TTreeView en fonction du nom du noeud que l'on veut sélectionner et de sa place dans l'arbre?

Par place dans l'arbre j'entends son noeud père donc ça , ça ne devrais pas poser trop de problème une fois que j'aurai réussi à trouver le noeud que je recherche...


<HR>
BLOU BLOU POWAA

6 réponses

Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
10
var
a: integer;
begin
for a := 0 to TreeView1.Items.Count-1 do
// On parcours les items
if TreeView1.Items.Item[a].Text = 'nom item recherché' then // Si on trouve le texte recherché
begin
TreeView1.Selected := TreeView1.Items.Item[a];
// On sélectionne le noeud
TreeView1.Items.Item[a].Expand(false); // On ouvre le noeud (false veut dire que le noeud s'ouvrira, mais pas ses descendants)
end;
TreeView1.SetFocus;
// Donne le focus au treeview (car si l'on appelle cette procédure depuis l'événement onclic d'un bouton par exemple, on ne voit pas que le noeud est sélectionné car le focus est détenu par le bouton)
end;

Voilà


@+
Bonne Prog'
Nico



<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
10
utilise TreeView1.Select(...);

Le texte suivant est tiré de l'aide de Delphi (il faut penser à la consulter des fois ) :

<HR>
Sélectionne les nœuds spécifiés.


procedure Select(const Nodes: arrayofTTreeNode); overload; virtual;

procedure Select(Nodes: TList); overload; virtual;
procedure Select(Node: TTreeNode; ShiftState: TShiftState = []); overload; virtual;


Description :
La méthode Select sélectionne un ou plusieurs nœuds d'arborescence.
Dans les deux premières formes, tous les nœuds du paramètre Nodes sont sélectionnés. Tous les autres nœuds sélectionnés sont désélectionnés.
Dans la troisième forme, Node est sélectionné comme si l'utilisateur avait cliqué. Pour obtenir le même effet qu'avec la touche Ctrl, Maj ou qu'avec le bouton droit de la souris, incluez ssCtrl, ssShift ou ssRight dans le paramètre ShiftState.


<HR>

@+
Bonne Prog'
Nico


<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
Messages postés
95
Date d'inscription
mardi 15 mars 2005
Statut
Membre
Dernière intervention
2 juillet 2007

ouais mais il faut avoir le noeud en question...

si je fais TreeView.Select(nom);
avec nom = 'monNoeud';

ça va pas.... vu que il faut un TreeNode au lieu d'un String


<HR>
BLOU BLOU POWAA
Messages postés
95
Date d'inscription
mardi 15 mars 2005
Statut
Membre
Dernière intervention
2 juillet 2007

OK merci beaucoup...


<HR>
BLOU BLOU POWAA
Messages postés
171
Date d'inscription
jeudi 15 avril 2004
Statut
Membre
Dernière intervention
18 juillet 2007

je chercher la meme chose merci tlm
Messages postés
29
Date d'inscription
samedi 16 octobre 2004
Statut
Membre
Dernière intervention
12 mai 2010

Génial, merci ni69.
Moi aussi je cherchAIS ça