MFC C ++ Заполнение данных в Tree Control

Хорошо, это может показаться довольно простым вопросом, но я новичок в работе с MFC.

Моя задача проста, я перетащил элемент управления Tree, и теперь я хочу заполнить некоторые данные в нем. Я следовал за некоторыми примерами онлайн, как в ссылке ниже

http://www.functionx.com/visualc/controls/treectrl.htm

в коде нет ошибок сборки, но когда я запускаю код, я получаю сообщение об ошибке «Отладка не выполнена».

Может ли кто-нибудь помочь мне решить эту проблему или предоставить базовый учебник или онлайн-справку по заполнению данных в Tree Control.

1

Решение

В приведенном выше примере TreeView создается вручную с помощью p_TreeView->CreateWindow(...)

Однако это не требуется при использовании перетаскивания в редакторе ресурсов. Диалоговому классу нужна только ссылка на древовидный элемент управления, который уже создан.

Объявить в CMyDialog учебный класс:

class CMyDialog : public CDialogEx
{
...
CTreeCtrl m_TreeView;
void DoDataExchange(CDataExchange* pDX);
};

Добавьте это в * .cpp файл:

void CMyDialog::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Control(pDX, IDC_TREE1, m_TreeView);
}

Теперь вы можете использовать m_TreeView, например:

m_TreeView.InsertItem("Test");
HTREEITEM level_1 = m_TreeView.InsertItem("level 1");
m_TreeView.InsertItem("level 2 a", level_1);
m_TreeView.InsertItem("level 2 b", level_1);
HTREEITEM level_2_c = m_TreeView.InsertItem("level 2 c", level_1);
m_TreeView.InsertItem("level 3 c", level_2_c);

m_TreeView.Expand(level_1, TVM_EXPAND);
1

Другие решения


По вопросам рекламы [email protected]