这几天遇到一个小问题,却一直困扰我,感觉太不可思议了,真是想不通啊,现在把问题的处理扩大化,请各位给以帮助:
在CTreeCtl中InsertItem总是不好使,界面始终不现实插入的item。部分代码如下:(一个继承了CTreeCtl的类)
----------------
#define ITEMMASK TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE | TVIF_PARAM | TVIF_HANDLETVINSERTSTRUCT ins;
ins.item.mask = ITEMMASK;
ins.hParent      = hParent;
ins.item.pszText = (LPTSTR)(LPCTSTR)pNode->GetID();
ins.item.lParam  = (LPARAM)(void *)Node;
ins.item.iImage  = IMAGE_LINK;
ins.item.iSelectedImage = IMAGE_LINK;
HTREEITEM hi = NULL;
hi = this->InsertItem(&ins);
TRACE("");
------------------
通过debug察看,ins的对应项已经被赋值,hi的值发生变化,没有error发生,就是不能显示插入的item。
(注:执行这个操作前,tree控件上原来有item。控件和显示是没有问题的)