Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > CTreeCntrl и ЧекБоксы


Автор: rokky05 23.4.2008, 14:08
У меня есть некорое дерево с ЧекБоксами,  когда юзер ставит ЧЕК на Родителе мне нужно чтоби все его Чайлды тоже ставали Чекнутими, как ето можно сделать?
Код

    UINT uFlags;
    POINT Point;

    GetCursorPos(&Point);   
    ScreenToClient(&Point);

             HTREEITEM hItem = mTreeCopyTo.HitTest(Point, &uFlags);

    if(hItem)
    {
        mTreeCopyTo.SelectItem(hItem);

        switch(uFlags)
        {
        case TVHT_ONITEMSTATEICON:
            {
                HTREEITEM hRootItem = mTreeCopyTo.GetParentItem(hItem); // get parent item

                CString strRoot;

                strRoot = mTreeCopyTo.GetItemText(hRootItem);

                if( strRoot == "" )
                {
                                                                       // вот я взял Родителя но как мне теперь ЧЕКНУТЬ всех его Чайлдов?
                }
                break;
            }
        }
    }


Автор: Earnest 23.4.2008, 15:17
Ручками: пройдись по ветке (т.е. по чайлд-итемам) и поставь всем детям, рекурсивно, естественно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)