7°C
завтра: 22°C
Погода в Перми
7°C
утром5°C
днем16°C
завтра22°C
Подробно
 64,32
−0.1139
Курс USD ЦБ РФна 18 июня
64,3187
−0.1139
 72,11
−0.5916
Курс EUR ЦБ РФна 18 июня
72,1077
−0.5916
  • (Visual C++)

    Есть дерево, которое нужно забить айтемами.
    Делаю:

    CTreeCtrl *hTree = (CTreeCtrl *) GetDlgItem(IDC_TREE1);
    HTREEITEM hRoot, hItem;
    hRoot = hTree->InsertItem("RootItem", 0, 0, TVI_ROOT, TVI_SORT);
    hItem = hTree->InsertItem("ChildItem", 0, 0, hRoot, TVI_SORT);

    Нода hRoot отображается, а дочерняя нет.
    В чем дело?

  • Попробуй вручную установить родительскому айтему атрибут родителя:

    TVITEM tvItem;
    tvItem.mask = TVIF_HANDLE | TVIF_CHILDREN;
    tvItem.hItem = hRoot;
    tvItem.cChildren = 1;
    hTree->SetItem(&tvItem);

    Или изначально создать его с помощью TVINSERTSTRUCT, эксплиситно указав этот атрибут.

  • Спасибо, но все оказалось гораздо проще.

    CTreeCtrl *hTree = (CTreeCtrl *) GetDlgItem(IDC_TREE1);
    HTREEITEM hRoot, hItem;
    hRoot = hTree->InsertItem("RootItem", 0, 0, TVI_ROOT, TVI_SORT);
    hItem = hTree->InsertItem("ChildItem", 0, 0, hRoot, TVI_SORT);
    hTree->Expand(hRoot, TVE_EXPAND);

  • Хммм... Так "Expand" можно было сделать и вручную, надавив на крестик около разворачиваемого айтема - это ж чистой воды визуализация. :-) Я-то думал, что "дети" не появляются вообще, как таковые... :-)

Записей на странице:

Перейти в форум

Модератор: