CTreeCtrl - Nachricht beim Aktivieren einer Checkbox in einem CTreeCtrl



  • Hi Leute,
    Ich such ne Möglichkeit informiert zu werden, wenn ich ne Checkbox vor nem Item in nem TreeControl "checke" ... Irgendwie bekomm ich das nciht hin 😞
    Habt ihr ne Ahnung, wie das tut?



  • Hm, CTreeCtrl::GetItemState() ?
    Müsstest du in der OnClick drauf reagieren evtl.

    Devil



  • Hallo,

    vielleicht noch einmal genauer das, was devil81 angedeutet hat:

    Im Click-Notification-Handler mit

    const MSG* pMsg = GetCurrentMessage();
    CPoint pt(pMsg->pt);
    m_treeCtrl.ScreenToClient(&pt);
    

    die aktuelle Mausklick-Position holen, und dann mit einem Hit-Test:

    UINT uiFlags = 0;
    BOOL b;
    HTREEITEM ht = m_treeCtrl.HitTest(pt, &uiFlags);
    if(ht && (uiFlags & TVHT_ONITEMSTATEICON))
    {
       b = m_Tree.GetCheck(ht);
    }
    

    über Abfrage des Flags TVHT_ONITEMSTATEICON den "Check-Status" feststellen (GetCheck gibt hier den vorherigen Zustand zurück, also bei FALSE würde dann die "check mark" gesetzt werden), so ungefähr...

    MfG



  • Danke 👍 Tut perfekt!


Anmelden zum Antworten