我创建了一个基于Dialog的简单MFC应用程序。我将TreeControl拖到对话框资源编辑器上。我给它一个成员变量名。我还有一个带有事件处理程序功能的按钮。单击按钮时,我想填充树。

问题是,仅添加了根元素,而没有其他添加。有任何想法吗?

`

void CCrysisDialogDecryptorDlg::OnBnClickedButton1()
{
    HTREEITEM hItem, hCar;
    hItem = m_directoryListing.InsertItem(L"C:\\",TVI_ROOT);
    hCar = m_directoryListing.InsertItem(L"Child",hItem);
    m_directoryListing.InsertItem(L"Grandchild",hCar);
    m_directoryListing.InsertItem(L"Grandchild",hCar);
    m_directoryListing.InsertItem(L"Grandchild",hCar);
}


`

最佳答案

您的代码没有任何问题,我尝试了相同的代码,并且可以正常工作。您可能会看到仅一个根元素,因为默认情况下未展开树。
您可以添加以下代码来展开树,并尝试查看所有元素。

    hItem= m_directoryListing.GetFirstVisibleItem();
    while (hItem != NULL)
    {
        m_directoryListing.Expand(hItem,TVE_EXPAND);
        hItem= m_directoryListing.GetNextItem(hItem, TVGN_NEXTVISIBLE);
    }

10-05 23:48