CtreeCtrl



  • Ich hätte da noch ne Frage zu ner anderen Sache:
    Wenn ich in einem CTreeCtrl mit der rechten Maustaste auf ein Item drücke, wird diese Item nur solange markiert, bis ich die Maustaste wieder los lasse.
    Wir bekomm ich raus, bei welchem Item den nun wirklich die rechte Maustaste gedrückt wurde?
    Ich habs schon mit SendMessage(..CLICK) probiert, aber das wird erst später verarbeitet.
    Weiß da jemand was dazu?



  • void CLeftView::OnRButtonDown(UINT nFlags, CPoint point) 
    {
    	CTreeView::OnRButtonDown(nFlags, point);
    	UINT uFlags;
    	HTREEITEM htItem = GetTreeCtrl().HitTest(point, &uFlags);
    	if ((htItem != NULL) && (uFlags & TVHT_ONITEM)) 
    	{
    		GetTreeCtrl().SelectItem(htItem);
    		UINT flag = LVIS_SELECTED | LVIS_FOCUSED;
    		GetTreeCtrl().SetItemState(htItem, flag, flag);
    	}
    }
    

    Der Code stammt aus einem Treeview, du musst ihn in die entsprechende
    Funktion für den Rechten Mausklick beim TreeCtrl einfügen.
    htItem ist das das Ausgewählte Treeitem.

    Devil



  • Die Funktion HitTest() ist glaub ich alles was ich brauche. Vielen Dank.
    Das hat mir sehr geholfen

    Gruss
    Ironeagle


Anmelden zum Antworten