zoukankan      html  css  js  c++  java
  • CTreeCtrl获得鼠标点击时的节点

    原文链接: http://blog.csdn.net/lcalqf/article/details/21321923

    1、添加图标

    HICON icon[10];
    icon[0]=AfxGetApp()->LoadIcon(IDI_ICON1);
    icon[1]=AfxGetApp()->LoadIcon(IDI_ICON5);

    m_imagelist.Create(16,16,ILC_COLOR32| ILC_MASK,7,7);//16*16的图标,7*7为该list最多能容纳的图标数。
    m_imagelist.Add(icon[0]);
    m_imagelist.Add(icon[1]);

    m_videotree.SetImageList(&m_imagelist,TVSIL_NORMAL);
    video_root=m_videotree.InsertItem("视频",0,0,TVI_ROOT,TVI_LAST);

    //第2个参数是item在添加好后的图标第3个参数为item在被选中后的图标
    m_videotree.InsertItem("190515.mp4",1,1,video_root,TVI_LAST);
    m_videotree.InsertItem("200515.mp4",0,0,video_root,TVI_LAST);
    m_videotree.InsertItem("210515.mp4",1,1,video_root,TVI_LAST);
    m_videotree.InsertItem("220515.mp4",0,0,video_root,TVI_LAST);

    2、获得鼠标点击的节点值

    添加树形控件的NM_CLICK消息处理,假如其相应的消息处理函数为OnClickVideoTree,树形控件的成员变量为m_videotree

     

    void CPlayDlg::OnClickVideoTree(NMHDR* pNMHDR, LRESULT* pResult)
    {
    // TODO: Add your control notification handler code here

    CPoint point;
    GetCursorPos(&point);//获得鼠标点击的位置
    m_videotree.ScreenToClient(&point);//转化为客户坐标
    UINT uFlags;

    HTREEITEM CurrentItem;
    CurrentItem=m_videotree.HitTest(point,&uFlags);//获得当前点击节点的ITEM
    //获得该节点的父节点
    // HTREEITEM ParentItem=m_videotree.GetParentItem(CurrentItem);
    CurrentVideo=m_videotree.GetItemText(CurrentItem) ;//获得节点值


    }

    3、树形控件操作相关函数

    ItemHasChildren(hParent) 搜索//判断结点是否有子结点
    hItem=GetChildItem(hParent); //获取第一个子结点
    hItem=GetNextSiblingItem(hItem)); //获取下一个兄弟结点结点

     

  • 相关阅读:
    (转载)关于一些对location认识的误区
    Python内置数据结构--列表
    Maven
    Python基础语法
    安装ipython和jupyter
    Python环境安装
    Java多线程
    SpringMVC集成springfox-swagger2自动生成接口文档
    SpringMVC拦截器
    SpringMVC异常处理器
  • 原文地址:https://www.cnblogs.com/huhu0013/p/4729748.html
Copyright © 2011-2022 走看看