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)); //获取下一个兄弟结点结点
CTreeCtrl获得鼠标点击时的节点的更多相关文章
- treeview 点击时选中节点
private void tv_WebList_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { Point clickPo ...
- [UE4]使用PlayerController获取鼠标点击时的坐标
1,获取鼠标在当前场景中坐标系统的中的position,加入场景地图的范围是一千平方米,那么这个position的范围也是1000米x1000米. 注册鼠标事件 FInputActionBinding ...
- js table鼠标点击时变色
<head> <title></title> <script type="text/javascript"> ...
- VirtulBox安装虚拟机(鼠标点击时)0x00000000指令引用的0x00000000内存该内存不能为written错误解决方案
这个错误并不是所有人都会用到,我用的是WIN7系统,公司的电脑.查找了很多原因后,发现的确是由于系统主题被破解过的原因. 手工恢复风险太高.通过下面的工具就可以直接恢复.UniversalThemeP ...
- 使用原生JS,实现鼠标点击爱心效果 !!!
使用原生JS,实现鼠标点击爱心效果 !!! 引言: 在很多时候我们都需要实现鼠标点击出现图案或者文字这样的效果,对于用户而言,这样的体验是很极致的.其实实现起来也很简单,下面一起来学习一下吧.文末附上 ...
- C# chart,有关如何在鼠标移动到Series上时显示节点及数据 (有待继续更新)
一.效果与思路 效果: 解决方案1 用chart的mousemove时间,实时跟踪鼠标最近的X轴的位置,然后把cursorX设置到那个位置上,让用户知道我是选的那一个X的值,同时用tooltip显示该 ...
- 关于点击ztree的节点将页面生成到easyui的新增选项卡(easyui-tabs)时,总是在浏览器中生成一个新的页面的问题
最近的项目中用到了easyui,还有ztree菜单.在这里将我遇到的一些问题写出来算是做个笔记吧. 这是我头一次在博客园里分享代码,我的处女作,写的不好的地方还望各位见谅! 由于很久没有写过前台的东西 ...
- C#之在treeview中鼠标点击的所选的节点触发事件
一.背景 如下图所示,我想实现通过鼠标点击treeview的根节点,然后在文本框控件中显示鼠标点击的节点号. 二.程序实现 因为是要通过鼠标点击才发生的事情,所以这属于一个事件,需要触发才行,刚开始不 ...
- CTreeCtrl和CListCtrl失去焦点时高亮选中项
设置CTreeCtrl的Always Show Selection:TrueCListCtrl的Always Show Selection:False在NM_CUSTOMDRAW事件中添加如下代码: ...
随机推荐
- android中使用WebView请求网页
请求网页首先需要访问网络的权限,在AndroidManifest.xml添加如下内容: <uses-permission android:name="android.permissio ...
- iOS 8 swift 键盘不出来 ios 8 uitextfield keyboard not appearing
ios 8 uitextfield keyboard not appearing //发现在iphone 6 and iPhone plus 上面键盘不出来.后来查了下原来要在模拟器里设置下 var ...
- Swift 2.x 升为 swift 3后语法不兼容问题适配
[解决方法]设置 Build Settings —-> Use Legacy Swift Language Version —-> 改为YES
- 【Ubuntu】Ubuntu bug “Reached target Shutdown”
在使用 Ubuntu-16.04.3-server-amd64.iso 版本(参考官方,iso下载地址)的时候,遇到一个Ubuntu的Bug,后来查了一下,在官方看到,目前还是Unassigned: ...
- openerp学习笔记 视图继承(tree、form、search)
支持的视图类型:form.tree.search ... 支持的定位方法: <notebook position="inside"> ...
- 阿里DRUID数据源
Druid是Java语言中最好的数据库连接池.Druid能够提供强大的监控和扩展功能. https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81 ...
- DDIA
https://vonng.gitbooks.io/ddia-cn/content/ch7.html
- python之docstrinigs
# -*- coding: cp936 -*- #python 27 #xiaodeng #docstrinigs #文档字符串惯例 ''' 1.多行字符串 2.首行以大写字母开始,以句号结束 3.第 ...
- 输出数组第k大的元素
用快速排序的思想输出数组第k大的元素: #include<iostream> #include<algorithm> using namespace std; //递归实现:返 ...
- net.sf.json.JSONException: 'object' is an array. Use JSONArray instead
list集合转换JSON出错误 意思是:对象"是一个数组. 使用jsonarray取代. 解决方法: 将JSONObject替换为JSONArray 代码: JsonConfig jsonC ...