TreeView-->NM_CLICK

Signaler
Messages postés
258
Date d'inscription
jeudi 20 mars 2003
Statut
Membre
Dernière intervention
16 août 2004
-
Messages postés
246
Date d'inscription
dimanche 2 juin 2002
Statut
Membre
Dernière intervention
11 septembre 2016
-
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

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
Pourquoi (LPARAM)Selected en dernier param alors que vaut NULL ???
c'est le hitem parent qu'il te faut, non ?
BruNews, ciao...
Messages postés
246
Date d'inscription
dimanche 2 juin 2002
Statut
Membre
Dernière intervention
11 septembre 2016
1
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