Les TreeView auront ma peau :'(

Résolu
John Dogget Messages postés 384 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 7 mai 2009 - 22 déc. 2005 à 03:18
John Dogget Messages postés 384 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 7 mai 2009 - 22 déc. 2005 à 12:29
Bonjour à tous.

J'essaie depuis quelques temps d'utiliser un TreeView avec des cases à cocher.

Je pensais en premier utiliser un composant de la JVCL, mais j'ai un bug d'affichage assez vilin, et personne sur le net ne semble savoir d'où ça viens : j'ai posté ma question sur à peu près tout les forums parlant de la JVCL => rien ...

Bref :/

Je me suis donc rabattu sur une utilisation du composant standard TreeView de delphi, en utilisant une liste d'images. Je crée ma liste avec deux images, une correspondant à une case non cochée, l'autre à une case cochée. Je mets la propriété "Images" à "ImageList1" (la liste que je viens de créer). Pour ensuite changer d'image et simuler une case cochée, voilà ce que j'écris ...

procedure TForm1.TreeView1Click(Sender: TObject);
begin
if TreeView1.Selected.ImageIndex=0 then
TreeView1.Selected.ImageIndex:=1
else
TreeView1.Selected.ImageIndex:=0;
end;

Cette manière de proceder ne fonctionne pas non plus correctement ...
Quand je clic sur un noeud, rien ne se passe, par contre si je clic dans la foulée sur un autre noeud, le noeud d'avant change d'image !!!
En fait le code semble marcher avec un noeud de retard .

Donc mes questions sont :
- pourquoi ça marche pas ?
- j'ai vu qu'il y a aussi une propriété "StateImages", pensez vous qu'elle puisse mieux m'aider ?

J'ai vraiment besoin d'aide, je patauge ...

4 réponses

Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
22 déc. 2005 à 10:59
Salut,
Regarde cette source il utilise les composants JVCL que tu as cité



@+
Cirec
3
exyacc Messages postés 163 Date d'inscription dimanche 20 octobre 2002 Statut Membre Dernière intervention 31 juillet 2008
22 déc. 2005 à 09:52
oui le pb c'est qd tu clicks sur le "+" ou "-" pour etendre
l'arborescence, ca change pas le treeview.selected, la selection reste
sur le dernier truc que t'as clické, essayes par exemple de clicker le
texte avant de clicker le moins, la y'a plus de decalage...non ?

exyacc
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
22 déc. 2005 à 12:21
décidement je crois que je ne suis pas bien réveillé encore une fois désolé je viens de remarquer que c'est une de tes sources



@+
Cirec
0
John Dogget Messages postés 384 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 7 mai 2009
22 déc. 2005 à 12:29
LOL cirec !

Bon je suis parvenu à faire fonctionner le compo JVCL correctement, en utilisant le mode JVCL pour les checkbox, le mode "MS" ne semblant pas fonctionner.

Je ferai prochainement une MAJ de mon code pour montrer comment faire.

Merci, @+
0
Rejoignez-nous