新建了一个NM_Click消息响应函数,用
hParent = m_TreeCtrl.GetSelectedItem();
m_TreeCtrl.GetItemText(hParent);
获取当前选中的文本,但获取的竟然是前一次点击的文本,而非当前点击的文本,请问这是问什么?怎样才能正确获取当前点击的文本?

用OnSelectChanged获得的方法,是有缺陷的,例如两次都点同一个项,那么就不能执行了

解决方法:

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);   //确定点击的是哪一项
 strOpcServerName = m_OpcServerList.GetItemText(ht.hItem);

来源: http://blog.csdn.net/nanfeiyannan/article/details/6578148

参考:http://zhidao.baidu.com/question/117893731.html

CTreeCtrl中通过单击获取当前选项文本的更多相关文章

  1. openlayers中单击获取要素

    openlayers中单击获取要素 分类专栏: GIS 总结 OpenLayers   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接: ...

  2. HTML中让表单input等文本框为只读不可编辑但可以获取value值的方法;让文本域前面的内容显示在左上角,居中

      HTML中让表单input等文本框为只读不可编辑的方法 有时候,我们希望表单中的文本框是只读的,让用户不能修改其中的信息,如使input text的内容,中国两个字不可以修改   有时候,我们希望 ...

  3. Eclipse RCP 中创建自己定义首选项,并能读取首选项中的值

    Eclipse RCP的插件中若想自定义首选项须要扩展扩展点: org.eclipse.core.runtime.preferences //该扩展点用于初始化首选项中的值 org.eclipse.u ...

  4. C#开发微信门户及应用(14)-在微信菜单中采用重定向获取用户数据

    我曾经在系列文章中的<C#开发微信门户及应用(11)--微信菜单的多种表现方式介绍>中介绍了微信菜单里面的重定向操作,通过这个重定向操作,我们可以获取一个code值,然后获取用户的open ...

  5. 转载]IOS LBS功能详解[0](获取经纬度)[1](获取当前地理位置文本 )

    原文地址:IOS LBS功能详解[0](获取经纬度)[1](获取当前地理位置文本作者:佐佐木小次郎 因为最近项目上要用有关LBS的功能.于是我便做一下预研. 一般说来LBS功能一般分为两块:一块是地理 ...

  6. jQUERY中的属性获取

    jQuery获取Select选择的Text和Value:语法解释:1. $("#select_id").change(function(){//code...});   //为Se ...

  7. XamarinEssentials教程获取首选项的值

    XamarinEssentials教程获取首选项的值 如果开发者想要获取首选项中某一项的值时,可以使用Preferences类的Get()方法实现,该方法可以对指定键的值进行获取.该方法有12种形式, ...

  8. 获取更新元素文本html()

    html() 方法,获取元素文本,包含元素标签,也可以设置元素的文本值(包含元素标签),还可以包含子元素标签.相当于JavaScript中的innerHTML. <!DOCTYPE html&g ...

  9. 获取更新元素文本text()

    text() 方法,获取元素文本,也可以设置元素的文本值.相 <!DOCTYPE html> <html lang="en"> <head> & ...

  10. Sitecore CMS中的项目如何配置帮助文本

    如何在Sitecore CMS中的项目上配置帮助文本. 所有Sitecore项目都有长短描述字段,以及“帮助链接”字段.这些字段有助于向内容编辑者提供其他信息.这对于很少编辑的项目和字段尤其重要,因为 ...

随机推荐

  1. C# Type类

    System.Type类它实际上是一个抽象类 C#中可以通过Type类访问任意数据类型的信息 一般获取数据类型的Type引用有以下几种方式: 使用typeof运算符:Type type1 = type ...

  2. Mysql数据库基础第五章:(一)事务

    Mysql数据库基础系列 软件下载地址 提取码:7v7u 数据下载地址 提取码:e6p9 mysql数据库基础第一章:(一)数据库基本概念 mysql数据库基础第一章:(二)mysql环境搭建 mys ...

  3. 06 RDD编程

    总共有多少学生?map(), distinct(), count() 开设了多少门课程? 每个学生选修了多少门课?map(), countByKey() 每门课程有多少个学生选?map(), coun ...

  4. jenkins目录

    Jenkins目录详解: jobs目录:创建的所有jenkins工程.并含有所有构建历史记录和日志.其中config.xml为具体配置. plugins:所有插件 workspace:构建工程本机源码 ...

  5. linux开机出现grub界面

    今天开机时候突然出现grub界面,并且卡在这里,记录一下解决办法 ①输入ls 2. 输入ls (hd0,6)/ 可以看到返回的就是linux系统的根目录,说明这个磁盘就是我们的系统的所在盘 如果ls ...

  6. ETCD 实现服务发现讲解

    租约:具有时间有效期,键绑定到租约后,当租约到期失效,绑定到的租约的键也会被删除. 创建租约 etcdctl lease grant 600 lease 694d81f509b7940a grante ...

  7. Veeva_001常见问题总结

    1.时间互动轴:其他代表与该医生的互动记录 2.Call的拜访流程 : 用户在Ipad端先制定计划拜访(已计划:青色)后,需手动同步到服务器上: 进入拜访详细,选择联系人和产品及相关拜访信息等,并'保 ...

  8. 2021-1-31 group class note

    Lesson aim By the end of this lesson, Ss will be able to talk about restaurant food using verbs of p ...

  9. 冒泡排序快速排序C语言

    //冒泡排序 void BubbleSort(ElemType A[], int n) { int i, j, temp; int flag=1; for (i = 1; i <= n - 1& ...

  10. nginx添加ssl模块

    一.在安装时添加ssl模块1.进入源码包做在的目录,进行编译,编译时添加参数–with-http_stub_status_module --with-http_ssl_module cd /usr/l ...