CLISTCTRL 获取点击列
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 获取点击列的更多相关文章
- C#  获取点击列的索引
		
datagridview 怎么获取选中行的某一列的索引比如 下面是表学号 姓名 所在年级 1 张 高一 2 李 高二当我选择第二行的时候 我想取所在年级的列索引 这时候那个 ...
 - c#里listview里如何获取点击的是哪一列
		
很多时候c#里会用到listview,又会给它添加很多的列,可以设置点击列的标头实现按照这列的内容排序等功能,然而点击不同列排序的方法是不一样的,这时候就需要知道,我到底是点击了哪一列,比如点击名字列 ...
 - MFC listcontrol 分列 添加行数据 点击列头排序
		
适用于 对话框程序 1.在工具箱中拖出 ListControl,然后右键-属性,view-Report 让你的ListControl变成这幅模样! 2.添加ListControl控件的control类 ...
 - jQuery获取Table某列的值
		
在写此篇博文时,发现在以前曾写过<获取DataTable选择第一行某一列值>http://www.cnblogs.com/insus/p/5434062.html . 但是与此篇所说的完全 ...
 - WPF 中获取DataGrid 模板列中控件的对像
		
WPF 中获取DataGrid 模板列中控件的对像 #region 当前选定行的TextBox获得焦点 /// <summary> /// 当前选定行的TextBox获得焦点 /// &l ...
 - datagridview 点击列标题排序
		
开发winform中,平时经常用到数据列表,我们大多选用datagridview,但是此控件本身没有排序的功能.参阅网上资料.留下标记,以后备用. datagridview的数据显示一般是通过数据绑定 ...
 - 解决无法获取 GridView 隐藏列值问题
		
今天遇到了一个要获取GridView隐藏列值的问题,试了好几种方法,要么获取不到,要么获取到了类列的值也隐藏了,但在样式中这一列会多出一块,,但最后找到了一个功能实现而且实现了列完美隐藏的方法和大家分 ...
 - [WPF]ListView点击列头排序功能实现
		
[转] [WPF]ListView点击列头排序功能实现 这是一个非常常见的功能,要求也很简单,在Column Header上显示一个小三角表示表示现在是在哪个Header上的正序还是倒序就可以了. ...
 - 获取对固定列不重复的新DataTable
		
获取对固定列不重复的新DataTable ///<summary> /// 获取对固定列不重复的新DataTable /// </summary> ///<param ...
 
随机推荐
- MariaDB  ----单表查询
			
1>按一定条件查询某字段的数据 (where) ; ( 查询 id > 的数据) #补充: ; 注意“ select * from students1: (此命令需谨慎使用, 数据量大 ...
 - MySQL-数据表锁定
			
MySQL允许客户端会话明确获取表锁,以防止其他会话在特定时间段内访问表.客户端会话只能为自己获取或释放表锁.它不能获取或释放其他会话的表锁. 创建一个数据表: CREATE DATABASE IF ...
 - Lein droid
			
最近尝试使用Clojure,发现有个Lein droid的项目可以方便的在android下使用Clojure. http://clojure-android.info/#get-started 尝试了 ...
 - java获取本周 上周的所有日期
			
1 根据当前日期获得所在周的日期区间(周一和周日日期) public String getTimeInterval(Date date) { Calendar cal = Calendar.getIn ...
 - 16. Ext.ux.TabCloseMenu插件的使用(TabPanel右键关闭菜单) 示例
			
转自:https://crabdave.iteye.com/blog/327978 Ext.ux.TabCloseMenu插件的使用(TabPanel右键关闭菜单) 示例 效果: 创建调用的HTML: ...
 - 【转载】存储的一些基本概念(HBA,LUN)
			
1.关于HBA HBA的全称为Host Bus Adapter,即主机总线适配器. a.总线适配器是个什么东西呢? 我们首先要了解一下主机的结构,一台计算机内部多半由两条总线串在起来(当然实际情况会 ...
 - ASP.NET给前端动态添加修改 CSS样式JS 标题 关键字(转载)
			
原文地址:http://www.cnblogs.com/xbhp/p/6392225.html 有很多网站读者能换自己喜欢的样式,还有一些网站想多站点共享后端代码而只动前段样式,可以采用动态替换CSS ...
 - E20171108-hm
			
breadcrumb n. 面包屑:面包心; 2.面包的松软(或柔软)部分; n. 网页导航区(a -> b -> c)
 - bzoj 1652: [Usaco2006 Feb]Treats for the Cows【区间dp】
			
裸的区间dp,设f[i][j]为区间(i,j)的答案,转移是f[i][j]=max(f[i+1][j]+a[i](n-j+i),f[i][j-1]+a[j]*(n-j+i)); #include< ...
 - vbnet 进程监控,监控Acad开启的数量,并且添加到开机启动
			
1# 自定义函数,添加到注册表 Public Sub StartRunRegHKLM() REM HKEY_LOCAL_MACHINE \ SOFTWARE \ WOW6432Node \ Micro ...