MFC CTreeCtr 鼠标扫过显示备注信息,双击某一节点弹出对话框

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)); //获取下一个兄弟结点结点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值