ctreectrl 设置选中_CTreeCtrl点击获得选中项

相应TVN_SELCHANGED可以得到选中的项,在相应函数内如下:

LPNMTREEVIEW pNMTreeView = reinterpret_cast(pNMHDR);

CString strSelItemTest = m_mapTreeCtrl.GetItemText(pNMTreeView->itemNew.hItem);

可以得到选中的项,但这里有一个问题,就是我点击的选中项没有改变时,就触发不了这个函数。

所以如果每次点击到项上都要得到选中项,相应左右健单双击比较好NM_CLICK    NM_RCLICK    NM_DBCLICK     NM_RDBCLICK

但是在这几个相应函数里使用

LPNMTREEVIEW pNMTreeView = reinterpret_cast(pNMHDR);

CString strSelItemTest = m_mapTreeCtrl.GetItemText(pNMTreeView->itemNew.hItem);

得到的是上次选中的项,而不是当前选中项

可以这样解决:

在这几个相应函数里:

DWORD dwpos = GetMessagePos();

TVHITTESTINFO ht = {0};

ht.pt.x = GET_X_LPARAM(dwpos);

ht.pt.y = GET_Y_LPARAM(dwpos);

::MapWindowPoints(HWND_DESKTOP,pNMHDR->hwndFrom,&ht.pt,1); //把屏幕坐标转换成控件坐标

TreeView_HitTest(pNMHDR->hwndFrom,&ht);   //确定点击的是哪一项

CString strSelItemTest = m_mapTreeCtrl.GetItemText(ht.hItem);

m_mapTreeCtrl.Select(ht.hItem, TVGN_CARET);

ArcGIS API for Silverlight 当DataGrid选中项时,地图聚焦弹出窗口,并可以播放音频文件

原文:ArcGIS API for Silverlight 当DataGrid选中项时,地图聚焦弹出窗口,并可以播放音频文件 先看效果图,然后上代码:

wpf中ListBox的选中项与ComboBox间的绑定

产品类: public class Product:NotificationObject { private int productID; public int ProductID { get { r ...

Winform下的Combox根据值来选中项

其实很简单,因为Combox的Item是一个K/V的object,那么就可以把它的items转换成IEnumerable类型的(System.Collec ...

jquery点击复选框触发事件给input赋值

体验效果:http://keleyi.com/keleyi/phtml/jqtexiao/31.htm 代码如下:

C#遍历得到checkboxlist选中值和设置选中项

得到选中项的value值并拼接成一个字符串返回 public string GetChecked(CheckBoxList checkList, string separator) { string ...

angularjs ng-select ng-options 默认选中项.

北 ...

extjs 点击复选框在表格中增加相关信息行

功能效果:点击复选框在表格中自动增加相关信息行,复选框取消则表格中内容自动删除 初始效果大概是这样~~~~~ // 定义初始 存放表格数据 var gridItems = []; //省份复选框 va ...

使用val()方法设置表单中的默认选中项

有时候我们展示给用户的表单中的checkbox,radio,selec等标签的一些项是默认选中的.比方:当用户改动文章的时候,假设相应的栏目为下拉框的话,那么它的默认选中值应该是原来的栏目位置. 能够 ...

随机推荐

[PHP内核探索]PHP中的哈希表

在PHP内核中,其中一个很重要的数据结构就是HashTable.我们常用的数组,在内核中就是用HashTable来实现.那么,PHP的HashTable是怎么实现的呢?最近在看HashTable的数据 ...

Android 面试题及答案(2)

1.Activity相关.launchmode,OnSaveInstnceState,生命周期等. 4种默认的launchmode,以及OnNewIntent的回调. OnNewIntent-> ...

Dictionary读取键值的快捷方法

对泛型集合Dictionary 进行读取键值是经常的操作,一般情况下,都是通过keys 和values进行键值的读取操作: eg: foreach (var item in di ...

ruby formatting time

%Y%m%d => 20071119 Calendar date (basic) %F => 2007-11-19 Calendar date (extended) %Y-%m => ...

webdriver(python)学习笔记七——多层框架定位与智能等待

多层框架或窗口定位: switch_to_frame() switch_to_window() 智能等待: implicitly_wait() 现在web应用中经常会遇到框架如(frame)或窗口(w ...

[转] C语言多维数组与多级指针

http://c.biancheng.net/cpp/html/477.html 多维数组与多级指针也是初学者感觉迷糊的一个地方.超过二维的数组和超过二级的指针其实并不多用.如果能弄明白二维数组与二级 ...

奇妙的go语言(聊天室的开发)

[ 声明:版权全部,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 这是一篇关于聊天室开发的博客,原来文章的地址来自于此.这篇文章非常具有代表性,对于代码中的函数 ...

javascript实现贪吃蛇

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值