MFC控件:树形控件(CTreeCtrl)

MFC控件树形控件(CTreeCtrl)
树形控件划分:
  根节点:所有都收缩后的节点
  节点:能展开
  叶:  不能展开
  说明: 节点和叶不是绝对的划分,当在对叶添加新下属后,该叶变为节点
树形控件操作逻辑:
1、创建控件 CTreeCtrl类的Create成员函数的原型如下:
virtual BOOL Create(
DWORD dwStyle,      //控件风格
const RECT& rect,    //控件窗⼝的位置和⼤⼩
CWnd* pParentWnd,    //控件⽗窗⼝的指针
UINT nID          //控件的ID
);
  控件的主要风格以及含义。TVS_DISABLEDRAGDROP:禁⽌树形控件发送TVN_BEGINDRAG通知消息,即不⽀持拖动操
作;TVS_EDITLABELS:⽤户可以编辑节点的标签⽂本;TVS_HASBUTTONS:显⽰带有"+"或"-"的⼩⽅框来表⽰某项能否被展开或已展开;TVS_HASLINES:在⽗节点与⼦节点间连线以更清晰地显⽰树的结构;TVS_LINESATROOT:在根节点处连
线;TVS_SHOWSELALWAYS:即使控件失去输⼊焦点,仍显⽰出项的选择状态;同样,动态创建树形控件时,除了能够指定上述风格的组合外,⼀般还要指定WS_CHILD和WS_VISIBLE风格。
2.添加图标类
3.添加节点
4.消息响应函数
树形控件添加:
  节点结构体:  HTREEITEM ,⽤该结构体声明节点变量
  为控件添加项: 
HTREEITEM InsertItem(
LPCTSTR lpszItem,            //项名
int nImage,               //树视图控件图像列表中的项的图像的索引
int nSelectedImage,          //树视图控件图像列表中的项的所选图像的索引东方红汽车
HTREEITEM hParent = TVI_ROOT,    //插⼊的项的⽗级的句柄二甲基砜
HTREEITEM hInsertAfter = TVI_LAST //新的项之前要插⼊的项的句柄
);
注:添加项之前先设定根节点,在初始化
聚乙烯
树形控件⿏标点击:
  判断⿏标位置
HTREEITEM CMyTreeDlg::GetSelectTree()
{
CPoint pt;
我不是宋承宪歌词GetCursorPos(&pt);//得到当前⿏标的位置
m_MyTree.ScreenToClient(&pt);//将屏幕坐标转换为客户区坐标
HTREEITEM tree_Item = m_MyTree.HitTest(pt);//调⽤HitTest到对应点击的树节点
return tree_Item; //返回⿏标位置节点
生态环境学报}
  获取某项⽂本
雯雯工地农民工灌浆  CString GetItemText(HTREEITEM hItem) const;
  获取指定关系项
  HTREEITEM GetNextItem( HTREEITEM hItem, UINT nCode) const;
  nCode标志可以是下列值之⼀︰TVGN_CARET检索当前所选的项。TVGN_CHILD检索由指定的项的第⼀个⼦项⽬hItem参
数。TVGN_DROPHILITE检索拖放操作的⽬标的项。TVGN_FIRSTVISIBLE检索第⼀个可见项。TVGN_LASTVISIBLE检索在树中最后⼀个展开的项⽬。这并不检索树视图窗⼝中可见的最后⼀项。TVGN_NEXT检索下⼀个同级项。TVGN_NEXTVISIBLE检索遵循指定的项的下⼀个可见
项。TVGN_PARENT检索指定项的⽗级。TVGN_PREVIOUS检索前⾯的同级项。TVGN_PREVIOUSVISIBLE检索位于指定的项的第⼀个可见
项。TVGN_ROOT检索指定的项的⼀部分的根项的第⼀个⼦级项。  获取指定项的⽗项
  HTREEITEM GetParentItem(HTREEITEM hItem) const;

本文发布于:2024-09-21 04:40:01,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/155455.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:控件   节点   指定   树形   项的   检索   添加   展开
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议