langer1801
Erfahrenes Mitglied
Brauche mal Hilfe bei meiner TreeView-Klasse. Wie komme ich denn an das Item, das angeklickt wurde? Ich habe mir vom Assistenten eine Funktion für die Meldung TVN_SELCHANGED einbauen lassen und dann anhand der Beispiele, die ich hier im Tutorial gefunden habe, die HitTest-Funktion eingebaut.
Die Funktion wird auch angesprungen. Bin dann mit dem Debugger durchgegangen und habe mir alle Strukturen angesehen, aber ich komme nicht dahinter, wo ich nun mein Item finde. Ich vermute mal, daß es itemNew in pNMTreeView ist, allerdings steht da unter pszText nicht der Text des Items, das ich angeklickt habe, sondern nur Unsinn.
Mfg
langer
Code:
void CAbr2TreeView::OnTvnSelchanged(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
// TODO: Fügen Sie hier Ihren Kontrollbehandlungscode für die Benachrichtigung ein.
unsigned int uFlags;
POINT pt;
GetCursorPos( &pt );
CTreeCtrl& leftTree = GetTreeCtrl();
leftTree.ScreenToClient( &pt );
HTREEITEM hItem = leftTree.HitTest( pt, &uFlags );
*pResult = 0;
}
Mfg
langer