給CTreeViewUI動態添加節點時發現了一個問題,如果
如果:
ptree->add(node1)
node1>add(node1-1)
node1>add(node1-2)
ptree->add(node2)
ptree->add(node3)
那么node1-1,node1-2會顯示不出來,調整添加順序為:
ptree>add(node1)
ptree>add(node2)
ptree>add(node3)
node1>add(node1-1)
node1>add(node1-2)
后就顯示出來了,這是受別的文章的啟發而試出來的,不得不說,開源的東西不好用,bug多,要猜著做,
真實的代碼如下,供參考:
CTreeViewUI* pTree = static_cast<CTreeViewUI*>(m_PaintManager.FindControl(_T("tree_list"))); if (pTree) { CTreeNodeUI *pTreeElement1 = new CTreeNodeUI; pTree->Add(pTreeElement1); pTreeElement1->SetItemText("111111"); pTreeElement1->SetItemTextColor(RGB(0, 0, 0)); pTreeElement1->SetItemHotTextColor(RGB(255, 255, 255)); pTreeElement1->SetSelItemTextColor(RGB(255, 255, 255)); pTreeElement1->SetAttribute(_T("folderattr"), _T("padding=\"0,1,0,0\" width=\"16\" height=\"16\" normalimage=\"res='155' restype='png' source='0,0,16,16' \" hotimage=\"file='155' restype='png' source='16,0,32,16' \" selectedimage=\"res='154' restype='png' source='0,0,16,16' \" selectedhotimage=\"res='154' restype='png' source='16,0,32,16' \"")); pTreeElement1->SetAttribute(_T("checkboxattr"), _T("width=\"16\" height=\"16\" normalimage=\"res='125' restype='png'\" selectedimage=\"res='124' restype='png'\"")); CTreeNodeUI *pTreeElement2 = new CTreeNodeUI; pTree->Add(pTreeElement2); pTreeElement2->SetItemText("22222222222"); pTreeElement2->SetItemTextColor(RGB(0, 0, 0)); pTreeElement2->SetItemHotTextColor(RGB(255, 255, 255)); pTreeElement2->SetSelItemTextColor(RGB(255, 255, 255)); pTreeElement2->SetAttribute(_T("folderattr"), _T("padding=\"0,1,0,0\" width=\"16\" height=\"16\" normalimage=\"res='155' restype='png' source='0,0,16,16' \" hotimage=\"file='155' restype='png' source='16,0,32,16' \" selectedimage=\"res='154' restype='png' source='0,0,16,16' \" selectedhotimage=\"res='154' restype='png' source='16,0,32,16' \"")); pTreeElement2->SetAttribute(_T("checkboxattr"), _T("width=\"16\" height=\"16\" normalimage=\"res='125' restype='png'\" selectedimage=\"res='124' restype='png'\"")); CTreeNodeUI *pTreeElement3 = new CTreeNodeUI; pTree->Add(pTreeElement3); pTreeElement3->SetItemText("333333333333333"); pTreeElement3->SetItemTextColor(RGB(0, 0, 0)); pTreeElement3->SetItemHotTextColor(RGB(255, 255, 255)); pTreeElement3->SetSelItemTextColor(RGB(255, 255, 255)); pTreeElement3->SetAttribute(_T("folderattr"), _T("padding=\"0,1,0,0\" width=\"16\" height=\"16\" normalimage=\"res='155' restype='png' source='0,0,16,16' \" hotimage=\"file='155' restype='png' source='16,0,32,16' \" selectedimage=\"res='154' restype='png' source='0,0,16,16' \" selectedhotimage=\"res='154' restype='png' source='16,0,32,16' \"")); pTreeElement3->SetAttribute(_T("checkboxattr"), _T("width=\"16\" height=\"16\" normalimage=\"res='125' restype='png'\" selectedimage=\"res='124' restype='png'\"")); CTreeNodeUI *pTreeElement11 = new CTreeNodeUI; pTreeElement1->AddChildNode(pTreeElement11); pTreeElement11->SetItemText("11111-1111111"); pTreeElement11->SetItemTextColor(RGB(0, 0, 0)); pTreeElement11->SetItemHotTextColor(RGB(255, 255, 255)); pTreeElement11->SetSelItemTextColor(RGB(255, 255, 255)); pTreeElement11->SetVisible(true); CTreeNodeUI *pTreeElement12 = new CTreeNodeUI; pTreeElement1->AddChildNode(pTreeElement12); pTreeElement12->SetItemText("11111-22222222222222"); pTreeElement12->SetItemTextColor(RGB(0, 0, 0));
pTreeElement12->SetItemHotTextColor(RGB(255, 255, 255)); pTreeElement12->SetSelItemTextColor(RGB(255, 255, 255)); pTreeElement12->SetVisible(true); }
運行效果如下:

原創內容,謝絕轉載(請大家少制造點數字垃圾吧)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/174404.html
標籤:其他
