博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
树形控件(CTreeCtrl和CTreeView)
阅读量:6479 次
发布时间:2019-06-23

本文共 1312 字,大约阅读时间需要 4 分钟。

插入数据项

通过InsertItem()方法,有四种重载样式:

HTREEITEM InsertItem(LPTVINSERTSTRUCT lpInsertStruct);HTREEITEM InsertItem(UINT nMask, LPCTSTR lpszItem, int nImage,int nSelectedImage, UINT nState, UINT nStateMask, LPARAM lParam,HTREEITEM hParent, HTREEITEM hInsertAfter);HTREEITEM InsertItem(LPCTSTR lpszItem, HTREEITEM hParent = TVI_ROOT,HTREEITEM hInsertAfter = TVI_LAST);HTREEITEM InsertItem(LPCTSTR lpszItem, int nImage, int nSelectedImage,HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST);

索引

lpInsertStruct TVINSERTSTRUCT结构指针,TVINSERTSTRUCT结构中包含了插入操作的详细信息
nMask 节点的哪些信息被设置
lpszItem 节点的文本
nImage 节点的图像索引
nSelectedImage 节点选中时的图像索引
nState 节点的哪些状态被设置
lParam 指定关联节点的附加信息
hParent 父节点句柄
hInsertAfter 新插入节点后面的节点句柄

示例:

CString userTreeHeader[3]={
"医生","售药员","管理员"}; HTREEITEM userItem[3]; for(int i=0;i<3;i++) { userItem[i]=m_theTreeCtrl->InsertItem(userTreeHeader[i],0,0,TVI_ROOT,TVI_LAST); m_theTreeCtrl->SetItemData(userItem[i],(DWORD)i); }

 

 

 

如何添加鼠标右击事件?

控件中添加NM_RCLICK事件。

示例:

void CMyDlg::OnRclickTree1(NMHDR* pNMHDR, LRESULT* pResult) {
CPoint cp;GetCursorPos(&cp);m_Tree.ScreenToClient(&cp);HTREEITEM titem = m_Tree.HitTest(cp, NULL);// 以上很关键,保证右键点击的位置是树叶或树枝if(titem){ AfxMessageBox(m_Tree.GetItemText(titem));} *pResult=0; }

 

转载于:https://www.cnblogs.com/tinaluo/p/7881663.html

你可能感兴趣的文章
,net运行框架
查看>>
Java 中 Emoji 的正则表达式
查看>>
Mixin Network第一届开发者大赛作品介绍- dodice, diceos和Fox.one luckycoin
查看>>
安卓Glide(4.7.1)使用笔记 01 - 引入项目
查看>>
中金易云:为出版社找到下一本《解忧杂货店》
查看>>
Flex布局
查看>>
Material Design之 AppbarLayout 开发实践总结
查看>>
Flutter之MaterialApp使用详解
查看>>
DataBinding最全使用说明
查看>>
原生Js交互之DSBridge
查看>>
Matlab编程之——卷积神经网络CNN代码解析
查看>>
白洋淀周末游
查看>>
三篇文章了解 TiDB 技术内幕 —— 说计算
查看>>
copy strong weak assign的区别
查看>>
OpenCV 入门
查看>>
css 3D transform变换
查看>>
ele表格合并行之后的selection选中
查看>>
正则表达式分解剖析(一文悟透正则表达式)
查看>>
解决UILable标点符号居中的问题
查看>>
HTML5新特性教程
查看>>