Хорошо, это может показаться довольно простым вопросом, но я новичок в работе с MFC.
Моя задача проста, я перетащил элемент управления Tree, и теперь я хочу заполнить некоторые данные в нем. Я следовал за некоторыми примерами онлайн, как в ссылке ниже
http://www.functionx.com/visualc/controls/treectrl.htm
в коде нет ошибок сборки, но когда я запускаю код, я получаю сообщение об ошибке «Отладка не выполнена».
Может ли кто-нибудь помочь мне решить эту проблему или предоставить базовый учебник или онлайн-справку по заполнению данных в Tree Control.
В приведенном выше примере 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);