TreeView-->NM_CLICK

cs_Xentor609 Messages postés 258 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 16 août 2004 - 4 juin 2003 à 11:52
glipper Messages postés 246 Date d'inscription dimanche 2 juin 2002 Statut Membre Dernière intervention 11 septembre 2016 - 17 avril 2004 à 15:17
Salut!

Je crée un treeview qui ressemble à celui d'Explorer, en montrant l'arborescence du disque-dur.
Voici le bout de code qui, je pense, pose un problème :

if(((LPNMHDR)lParam)->code == NM_CLICK)
{
HTREEITEM Selected=NULL;
HTREEITEM parent=NULL;

Selected=(HTREEITEM)SendDlgItemMessage(hwnd,IDC_TREE1,TVM_GETNEXTITEM,TVGN_CARET,(LPARAM)Selected);
...
}

Quand on fait un click, Selected contient le HTREEITEM précédant, c'est-à-dire
que lorsqu'on clique sur C:\WINDOWS, le HTREEITEM est celui de C: et non celui de WINDOWS.

J'ai remarqué que ce problème ne se pose pas avec le double click,
mais je préfère avec un seul click.

A quoi est dû ce problème ? Comment le résoudre ?

Merci d'avance !

2 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
4 juin 2003 à 14:06
Pourquoi (LPARAM)Selected en dernier param alors que vaut NULL ???
c'est le hitem parent qu'il te faut, non ?
BruNews, ciao...
0
glipper Messages postés 246 Date d'inscription dimanche 2 juin 2002 Statut Membre Dernière intervention 11 septembre 2016 1
17 avril 2004 à 15:17
Moi j'ai eu le même probleme et j'ai fini par remplacer le

if(((LPNMHDR)lParam)->code == NM_CLICK)

par

if(((LPNMHDR)lParam)->code == TVN_SELCHANGED)

C'est etonnant comme résultat mdr

++ Glipper
0
Rejoignez-nous