好的,这似乎是一个非常简单的问题,但我是MFC的新手。
我的任务很简单,我拖了一个Tree Control,现在我想在其中填充一些数据。我已经关注了一些在线示例,如下面的链接
http://www.functionx.com/visualc/controls/treectrl.htm
代码中没有构建错误,但是当我运行代码时,我收到错误Debug Assertion Failed。
任何人都可以帮我解决这个问题,或者提供一些将数据填充到树控件中的基本教程或在线帮助。
答案 0 :(得分:1)
在上面引用的示例中,使用p_TreeView->CreateWindow(...)
但是,在资源编辑器中使用拖放时不需要这样做。 Dialog类只需要对已创建的树控件的引用。
在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);