CListCtrl中的HitTest、SubItemHitTest的用法

2HitTest:得到当前鼠标位置的Item

其实关键是要有ScreenToClient这个函数的使用,我先前没有用这个函数,HitTest老是返回-1,搞得我都头大了。不过这个不能用于SubItem,那应该要用SubItemHitTest

LVHITTESTINFO ht ;

GetCursorPos(&(ht.pt)) ;

m_friendList.ScreenToClient(&ht.pt) ;

m_friendList.HitTest(&ht) ;

if(ht.iItem == -1) //检查是否有item选中

return  ;

SubItemHitTest:

void   CTest6Dlg::OnClickList1(NMHDR*   pNMHDR,   LRESULT*   pResult)   

/****************************************/ 
/*       确定单击的listctrl的行列号   方法1       */ 
/****************************************/

/* 
DWORD   dwPos   =   GetMessagePos(); 
CPoint   point(   LOWORD(dwPos),   HIWORD(dwPos)   );

m_list.ScreenToClient(&point);

LVHITTESTINFO   lvinfo; 
        lvinfo.pt   =   point; 
        lvinfo.flags   =   LVHT_ABOVE; 
        
int   nItem   =   m_list.SubItemHitTest(&lvinfo); 
if(nItem   !=   -1) 

CString   strtemp; 
strtemp.Format( "单击的是第%d行第%d列 ",   lvinfo.iItem,   lvinfo.iSubItem); 

*pResult   =   0; 
}

CListCtrl中的HitTest、SubItemHitTest的用法相关推荐

  1. @ini_get php,php中get_cfg_var()和ini_get()的用法及区别_php技巧_脚本之家

    本文实例讲述了php中get_cfg_var()和ini_get()的用法及区别.分享给大家供大家参考.具体分析如下: php里get_cfg_var()和ini_get()都是取得配置值的函数,当你 ...

  2. java7 javascript引擎_Java7中脚本引擎的一般用法,共三种方法获得JavaScript引擎:名称、文件扩展名、MIME类型 | 学步园...

    package com.sino.java7; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; i ...

  3. Oracle中INSTR和SUBSTR的用法

    2019独角兽企业重金招聘Python工程师标准>>> Oracle中INSTR和SUBSTR的用法 Oracle中INSTR的用法: INSTR方法的格式为 INSTR(源字符串, ...

  4. python threading join_Python中threading模块join函数用法实例分析

    本文实例讲述了Python中threading模块join函数用法.分享给大家供大家参考.具体分析如下: join的作用是众所周知的,阻塞进程直到线程执行完毕.通用的做法是我们启动一批线程,最后joi ...

  5. sklearn中cross_val_score、cross_val_predict的用法比较

    sklearn中cross_val_score.cross_val_predict的用法比较_程大海的博客-CSDN博客_cross_val_predict

  6. MapInfo中常用查询函数及用法

    MapInfo中常用查询函数及用法: 函数用途 语法 备注 图层中选点 Str$(obj)="point": Str(String)表示字符串:point表示点: 图层中选线 St ...

  7. 【Java学习笔记之二十九】Java中的equals和==的用法及区别

    Java中的"equals"和"=="的用法及区别 在初学Java时,可能会经常碰到下面的代码: 1 String str1 = new String(&quo ...

  8. jquery中this与$(this)的用法区别.

    2019独角兽企业重金招聘Python工程师标准>>> jquery中this与$(this)的用法区别.先看以下代码: $("#textbox").hover( ...

  9. C#中static静态变量的用法

    原文:C#中static静态变量的用法 使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员static修饰符可用于类.字段.方法.属性.运算符.事件和构造函数,但不能用于索引器.析 ...

最新文章

  1. Windows10编译源码安装Aleth(Ethereum C++ client, tools and libraries)
  2. 线程间操作无效: 从不是创建控件的线程访问它
  3. Amoeba实现mysql主从读写分离
  4. 六、配置Oracle数据库的网络环境
  5. Java多线程-线程中止
  6. SQL 2005安装问题解决办法
  7. android 加载显示富文本——TextView显示富文本和WebView显示富文本,WebView显示图片适配屏幕宽度
  8. 小米手机线刷教程详解
  9. 《关键对话:如何高效能沟通》读书笔记
  10. 计算机网络--DHCP分析实验
  11. sapi/cgi/php-cgi,sapi/cgi/php-cgi
  12. USB转TTL串口板使用问题
  13. 【微信小程序】web-view 无法打开该页面不支持打开
  14. 并行计算————计算机架构
  15. HDFS性能压测工具
  16. DAPM-widget
  17. 近十年来出现的计算机术语,近十年来科技英语翻译研究评述(2003—2012).doc
  18. 进销存管理系统哪个比较好?
  19. Oracle按时间分旬查询
  20. UGUI—Slider控制变量

热门文章

  1. 学习《Redis设计与实现》Chapter1
  2. matlab 反走样,如何在python中使用Matlab的imresize
  3. 成功解决ImportError: cannot import name ‘imresize‘
  4. HashMap1.7中的线程安全问题
  5. Qt QVector “isDetached()“
  6. ROS学习记录(二)阿克曼转向车运动学模型及在gazebo中搭建仿真环境
  7. 设计模式 - 创建型设计模式小结
  8. nmap简单实用命令
  9. 从这些企业的数字化转型实践中,你能得到什么启发
  10. 学python有必要用固态硬盘吗-pythonssd