zoukankan      html  css  js  c++  java
  • MFC树形控件基本操作

    在MFC中,会用到树形控件,这里做下记录。

    增加节点

    ①增加根节点

    1 HTREEITEM hRoot;
    2 CString str = "Root"
    3 hRoot = m_treeCtrl.InsertItem(str,TVI_LAST);

    ②插入孩子节点

    1 //添加节点位于hRoot所有孩子节点末尾
    2 HTREEITEM hChild = m_treeCtrl.InsertItem(str,hRoot);
    3 //或者
    4 HTREEITEM hChild = m_treeCtrl.InsertItem(str,hRoot,TVI_LAST);

    删除节点

    ①删除单个节点

    1 m_treeCtrl.DeleteItem(delItem);

    ②删除所有节点

    1 m_treeCtrl.DeleteAllItems();

    修改节点名

    1 m_treeCtrl.SetItemText(m_treeCtrl.GetSelectedItem(),"newNodeName");//修改当前选中节点名为newNodeName

    获得节点句柄

     1 //获得根节点
     2 HTREEITEM hRootItem;
     3 hRootItem = m_treeCtrl.GetRootItem();
     4 //获得当前节点
     5 HTREEITEM hCurItem;
     6 hCurItem = m_treeCtrl.GetSelectedItem();
     7 //获得hItem的前一个节点
     8 HTREEITEM hPreItem;
     9 hPreItem = m_treeCtrl.GetNextItem(hItem,TVGN_PREVIOUS);
    10 //获得hItem的后一个节点
    11 HTREEITEM hNextITem;
    12 hNextITem = m_treeCtrl.GetNextItem(hItem,TVGN_NEXT);

    展开或收缩子节点

    1 if(m_treeCtrl.ItemHasChildren(hRoot))//判断某个节点是否有孩子节点
    2     m_treeCtrl.Expand(hRoot,TVE_EXPAND);//展开或收缩子节点

    选择某节点后,并让其获得焦点

    1 m_treeCtrl.SetItemState(hItem,TVIS_SELECTED,TVIS_SELECTED);//设置节点状态为被选中
    2 m_treeCtrl.SelectItem(hItem);
    3 //或者
    4 //TREE控件样式必须设置为TVS_SHOWSELALWAYS
    5 m_treeCtrl.SelectItem(hItem)//选择该节点
    6 m_treeCtrl.SetFocus();//设置焦点

    判断鼠标是否有击中节点并获得击中节点

    1 CPoint point;
    2 GetCursorPos(&point);
    3 ::ScreenToClient(m_treeCtrl.GetSafeHwnd(),&point);
    4 UINT uFlags;
    5 uFlags = TVHT_ONITEM;
    6 HTREEITEM    hItem = m_treeCtrl.HitTest(point,&uFlags);
    7 if(hItem && (TVHT_ONITEM & uFlags))
    8 {}

    参考

    https://blog.csdn.net/shuilan0066/article/details/6638504

  • 相关阅读:
    angularjs中的指令
    git笔记
    webpack.config.js
    webpack开发react常用插件和依赖
    angularjs中的分页指令
    angularjs中的排序和过滤
    react学习
    gulp学习
    Javascript 判断变量类型的陷阱 与 正确的处理方式
    Fn.bind.apply() 解决 new 操作符不能用与 apply 或 call 同时使用
  • 原文地址:https://www.cnblogs.com/huangsitao/p/10298096.html
Copyright © 2011-2022 走看看