CTreeView - Cursor über Item ?



  • Hallo

    Gibt es eine Möglichkeit abzufragen, ob der Mauscursor gerade über einem Itrem ist, oder nicht ?
    Wenn ja, kann mir da bitte jemand helfen ?

    Danke 🙂



  • CTreeCtrl::HitTest



  • Danke, funktioniert.
    Jetzt hab ich nur noch ein Problem.
    Wie kann ich die aktuelle Cursorposition auslesen, ich dachte mit GetCursorpos(&point).

    Aber das liefert mir komplett falsche Werte. 😞

    Danke 🙂



  • Ah, ich habs.
    Vielen Dank nochmals.

    CPoint mouse;
    GetCursorPos(&mouse);
    
    CRect window;
    TreeCtrl.GetWindowRect(&window);
    
    CPoint point;
    point.x = mouse.x - window.left;
    point.y = mouse.y - window.top;
    


  • GetCursorPos liefert Bildschirmkoordinaten, diese musst du in Client- umwandeln. Das geht mit ScreenToClient.



  • Was jetzt allerdings noch interessant wäre ist, wie ich ein Item so darstellen kann, wie wenn ich mit der MAus darauf geklickt hätte. Dieser Zustand muss aber auch erhalten bleiben, wenn das CTreeView den Fokus verliert.

    Kann man irgendwie den Hintergrund für ein Item festlegen ?
    Weil eine Auswahl geht mir verloren, sobald der Fokus verloren geht.

    THX 🙂


Log in to reply