2016-12-28 65 views
0

我創建了一個基於對話框的簡單MFC應用程序。我將一個TreeControl拖放到對話框資源編輯器中。我給它一個成員變量名稱。我也有一個帶有事件處理函數的按鈕。當我點擊按鈕時,我想填充樹。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); 
} 

`

回答

1

沒有什麼錯在你的代碼,我嘗試相同的代碼和它的工作。有可能你會看到只有一個根元素,因爲樹不是默認擴展的。 您可以添加下面的代碼來展開您的樹,並嘗試是否看到所有元素。

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