我现在想隐藏树形控件已插入的结点,该怎么办?
解决方案 »
- 我感觉MFC类库真的好垃圾啊?请推荐个更好的类库?
- MFC的窗口和对话框问题
- 用驱动读写CMOS端口有时成功,有时失败。请高手指教!
- 错误提示 local function definitions are illegal 什么意思?
- 请问vc++做什么比较有前途?
- Null-terminated string.该怎么理解和翻译!
- 查询问题?
- 看到一小段很有意思的代码,是关于平时很少用到的try-finally语法的
- 一个会VC++就肯定会的很菜的问题
- 哪里有讲钩子技术的文章?
- 如何将字符串“02653”转换成16进制“0A5D”?注意A前面要有0!谢谢!
- 请教:在点对点通讯中,怎样在两个都是在局域网中的电脑间建立连接???
那么你可以自己定义一个list,用来存储你的不想显示的节点信息,比如list.Add(itemtemp.text)
然后用
BOOL SetItemData(
HTREEITEM hItem,
DWORD_PTR dwData
);
来将这个list关联到itemparent。最后删除你的itemtemp,查询节点的时候你自己去查询和这个节点关联的list。不知道是否合适楼主的要求?
你插入一个节点后,直接调用
BOOL SetItemData(
HTREEITEM hItem,
DWORD_PTR dwData
);
或者在插入节点的时候调用
HTREEITEM InsertItem(
UINT nMask,
LPCTSTR lpszItem,
int nImage,
int nSelectedImage,
UINT nState,
UINT nStateMask,
LPARAM lParam,
HTREEITEM hParent,
HTREEITEM hInsertAfter );
然后把其中nMask=TVIS_TEXT|TVIS_PARAM
lpszItem参数表示节点显示的文本内容,而lParam参数指定你要赋给节点的值
函数就可以为这个节点指定一个你想要的值,然后再需要的时候使用GetItemData就可以取得与节点关联的值,即可
重载WM_PAINT,然后在OnPaint()这个函数里面设置一个变量,如果要隐藏内容的话,什么都不干,直接返回就可以了。