Pour une CTreeView tu peux surcharger les messages TVN_quelquechose. Par exemple TVN_SELCHANGED. Seul problème c´est que ce message ( TVN_SELCHANGED) ne sera envoyé que lorsque la sélection dans l´arbre change réellement, donc si tu cliques 2 fois sur le même item ca ne marchera pas.
Autre solution, le message NM_CLICK lui sera déclenché à chaque fois tu cliqueras dans le CTreeView. Là le truc c´est de vérifier sur quoi tu viens de cliquer ( car ce n´est pas forcément un item, ca peut être une zone vide).
void CMyView::OnClick(NMHDR* pNMHDR, LRESULT* pResult)
{
CPoint CurrentPos;
UINT nFlags;
HTREEITEM TreeSelection;
GetCursorPos(&);
ScreenToClient(&);
TreeSelection = GetTreeCtrl().HitTest(CurrentPos, & ) ;
if ( nFlags & TVHT_ONITEM )
{
/ / action si tu cliques sur un des item
}
}