给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.cnblogs.com/wxfff/p/13826042.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!