鱼C论坛

 找回密码
 立即注册
查看: 3391|回复: 1

[技术交流] 【MFC入门文字教程】21-树形控件(CTreeCtrl)

[复制链接]
发表于 2016-11-26 18:21:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 无符号整形 于 2016-11-26 20:27 编辑

PS:这节比较复杂,难度:★★★ ~ ★★★★
基础知识:

1. HTREEITEM句柄
树形控件中的每个节点都可以由一个HTREEITEM类型的句柄表示,我们在添加节点时需要它。
2.TVITEM结构体
TVITEM结构体描述了树形控件节点的属性.
3. NMTREEVIEW结构体
NMTREEVIEW结构体中包含了树形控件通知消息的相关信息。
4. TVINSERTSTRUCT结构体
向树形控件中插入新节点时需要用到TVINSERTSTRUCT结构体,它常与TVM_INSERTITEM消息一起使用。
5.NMTVDISPINFO结构体
NMTVDISPINFO结构体中包含了与树节点的显示有关的信息。
其实这些大家都不用死记硬背,其实查资料即可!

常用的成员函数(参考了鸡啄米http://www.jizhuomi.com/software/203.html):

CImageList* SetImageList(CImageList * pImageList,int nImageListType);
如果树节点需要显示图标时,则必须先创建一个CImageList类的对象,并为其添加多个图像组成一个图像序列,然后调用SetImageList函数为树形控件设置图像序列,在用InsertItem插入节点时传入所需图像在图像序列中的索引即可。

DWORD_PTR GetItemData(HTREEITEM hItem) const;
获取树形控件中某个指定节点的附加32位数据,参数hItem为指定的树节点的句柄。


BOOL SetItemData(HTREEITEM hItem,DWORD_PTR dwData);
为树形控件中某个指定节点设置附加的32位数据,参数hItem同上,dwData为要设置的32位数据。


CString GetItemText(HTREEITEM hItem) const;
获取树形控件中某个指定节点的标签文本。参数hItem同上。返回值是包含标签文本的字符串。


BOOL SetItemText(HTREEITEM hItem,LPCTSTR lpszItem);
为树形控件中某个指定节点设置标签文本。参数hItem同上,lpszItem为包含标签文本的字符串的指针。


大家可以试一试。。

实践时间~
PS:主要代码在OnInitDialog里面,有一个图标资源。
TreeDemo.rar (1.6 MB, 下载次数: 33)

评分

参与人数 1荣誉 +7 鱼币 +7 贡献 +5 收起 理由
拈花小仙 + 7 + 7 + 5 感谢楼主无私奉献!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-6-13 21:32:25 | 显示全部楼层
本来就难了,来点图片都没得
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-30 18:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表