Bonjour,

Je suis en train de developper une application qui contient un CTreeCtrl et j'ai implementé une fonction qui permet de recuperer l'index de l'item selectionné dans cette CtreeCtrl.

Le code que j'utilise est le suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
 
void CListCtrlDlg::OnRClick(NMHDR* pNMHDR, LRESULT* pResult)
{
 
	LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
 
	CPoint Point;
    DWORD  dwPos;
	UINT   Flags = TVHT_ONITEMLABEL ;
	int    ht; 
 
	// TODO: Add your control notification handler code here
 
 
	dwPos = GetMessagePos(); 
	Point.x = LOWORD (dwPos);
	Point.y = HIWORD (dwPos); 
 
	// conversion des coordonnées screen pour la zone cliente du TreeView
	m_FileListCtrl.ScreenToClient( &Point );
 
	// recuperation de l'item selectionné.
	ht = m_FileListCtrl.HitTest( Point ,&Flags );
	*pResult = 0;
}
Le probleme est qu'au retour de la fonction HitTest, je reçois toujours -1.

Et je comprend pas pourquoi.

Quelqu'un pourra m'aider ?

Merci d'avance