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; 
}

时间: 2024-08-14 04:48:01

CLISTCTRL 获取点击列的相关文章

jQuery获取Table某列的值

在写此篇博文时,发现在以前曾写过<获取DataTable选择第一行某一列值>http://www.cnblogs.com/insus/p/5434062.html . 但是与此篇所说的完全不一样.这篇Insus.NET需要的是jQuery去获取html table的某一行某一列的数据. 如下表: Html code: <table> <tr> <th style="width:10px;"><input id="Selec

jQuery获取点击对象的父级

一.使用$('body').on('click','.index',function(event){})绑定事件时,例: <div class="project-box"> <a href="javascript:void(0)"> <div class="clearfix"> <p>项目名称:</p> <p class="p-name">超级玛丽 for

ExtJS4.2 Grid知识点七:显示行号、斑马线效果(奇偶行背景色不一致)、复制单元格文字、禁止点击列排序

本节主要学习ExtJS4.2 Grid显示行号.斑马线效果(奇偶行背景色不一致).复制单元格文字.禁止点击列排序.禁止列头部右侧菜单,示例图片: 在线演示  /  在线演示 主要内容如下: 显示行号 斑马线效果(奇偶行背景颜色不一致) 复制单元格问题 禁止点击列排序 禁止列头部右侧菜单 1.显示行号 在Grid中增加行号列,xtype指定为rownumberer. {header: 'NO',xtype: 'rownumberer',width: 40,sortable: false} 2.斑马

在UITableView的 didSelectRowAtIndexPath中获取点击区域

项目中,要在UITableViewCell区分不同的点击区域,比如左边点击执行某个操作,右边点击执行另一个操作.原本我的方案是在cell的左边和右边各放一个透明的UIButton,点击两个button执行不同的操作,而controller中的didSelectRowAtIndexPath函数就设为空了.但是后来有个问题,就是可以同时用多个手指长按在不同的cell上,导致触发过个操作,而且cell的选中态也不好控制. 后来想到,UIview的触摸事件可以得到触摸的位置,那可不可以在cell的tou

根据查询实体获取指定返回列的值

一步步完善并优化自己的ORM框架功能 [新增] /// <summary> /// 根据查询实体获取指定返回列的值 /// </summary> /// <typeparam name="SearchT">查询实体类</typeparam> /// <typeparam name="ResultT">返回实体类</typeparam> /// <param name="searc

UITapGestureRecognizer 获取点击位置

原来我自定义过UITextView,然后将捕获 touchesBegan,touchesMoved和touchesEnded的事件后交给父层去处理,这样就可以UITextView上进行手势翻页 等处理,今天想要故伎重演在UIWebView上,结果失败了.后来用了一种最最简单的办法实现了. 你猜对了,是UITapGestureRecognizer,贴上代码. 在UIViewController中,加入协议UIGestureRecognizerDelegate,然后.m文件里加入以下代码: UITa

android ListView 获取点击的选项

需要调用listView的setOnItemClickListener方法 重写OnItemClickListener类的onItemClick 方法,onItemClick 方法有三个参数 @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) : View : 是listViwe 的 adapter里面给他配置的 显示内容的组建,如果需要获取所点击的item的内容可以:St

如何在asp.net中获取GridView隐藏列的值?

在阅读本文之前,我获取gridview某行某列的值一般做法是这样的:row.Cells[3].Text.ToString().有点傻瓜呵呵 在Asp.net 2.0中增加了一个新的数据绑定控件:GridView,其目的用来取代Asp.net1.x中的DataGrid控件.获取GridView中的某列值的方法为   protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)    {        stri

ios UITableView 获取点击cell对象

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { UITableViewCell *cell= [tableView cellForRowAtIndexPath:indexPath]; // 获取cell 对象 UILabel *name = (UILabel *)[cell.contentView viewWithTag:111]; // 获取昵称 _inp