void CMyClass::OnClickLVSheets(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO:
DWORD dwPos = GetMessagePos();
CPoint point( LOWORD(dwPos), HIWORD(dwPos) );
m_lv_sheets.ScreenToClient(&point);//m_lv_sheets为CListCtrl的变量
LVHITTESTINFO lvinfo;
lvinfo.pt = point;
lvinfo.flags = LVHT_ABOVE;
UINT nFlag;
int nItem = m_lv_sheets.HitTest(point, &nFlag);
nItem = m_lv_sheets.SubItemHitTest(&lvinfo);
int iCurrentItem = lvinfo.iItem;
//处理Shift + lButtonDown事件
if(GetKeyState(VK_SHIFT) < 0) // the Shift Key been pressed.
{
相关推荐
VC 6.0 适时添加ListBox列表框数据.rar
VC 6.0 适时添加ListBox列表框数据,也就是在执行程序的过程中,需要时会对ListBox列表框即时赋值,生成新的列表内容,在VC 中实现这种动态添加列表框值的方法,请参见本代码中所表达的思路。
正确响应CListCtrl的单击事件
正确响应CListCtrl的单击事件 ON_NOTIFY_REFLECT(NM_CLICK, OnClick)
VC++ CheckBox 自绘
对checkBox进行自绘,可以实现修改背景色,背景图片,对于已选和未选状态分别显示不同的图片
代码触发clistctrl控件的NM_CLICK事件
首先,这是个比较简单的功能,也就是实现CListCtrl控件可以处理完当前行后自动换到下一行而且自已选中,思路很简单,先给CListCtrl控件添加个NM_CLICK事件响应函数,手动或者自动都行。然后用代码选中需要显示的行,代码如下: m_List.SetFocus() m_List.SetItemState(nItem,LVIS_SELECTED|LVIS_FOCUSED, LVIS_SEL
C++自定义ClistCtrl控件响应数据项的点击事件&&消息反射的原理
ON_NOTIFY不反射消息.如果自己处理不了,就传给上级窗口,如果再处理不了,在往上传.实在处理不了,由框架默认处理. ON_NOTIFY_REFLECT 反射消息.把消息传给上级窗口处理,如果上级都处理不了,再反射回来,自己处理. 这就是MFC强大的消息反射机制.如果上级窗口处理,则子窗口不处理; 为了项目的需要,往往需要编写自定义控件。当然,很多时候都是在现
ListCtrl列表控件中NM_CLICK消息的发送和处理一例
//NM_CLICK消息的作用是模拟选中某一行(一个Item),但其消息处理函数只//能获得被模拟选中的行号,要在界面中高亮选中行需要另加代码,可参考下面//的代码//发送消息,只能在同一进程中发送NMITEMACTIVATE data; //构建消息处理函数所需参数 ZeroMemory(&data, sizeof(data)); data.h
CListCtrl 单击事件问题
搞了个wince的测试程序,里面用到CListCtrl控件,在响应其单击某一行的事件的时候,老是出问题。开始使用OnLvnItemchanged响应点击事件,发现一个问题。第一次点击某一行,可以正常响应对应的处理;处理完后,回来再点击同样一行就进不了处理了。哥们那个郁闷呀!后来才发现使用OnNMClick事件处理,其中的处理如下就正常了。 void CD3GMessageDlg::OnNMCli...
MFC checkbox使用方法
MFC中复选框checkbox控件,至少有三种方法对其进行操作,他们是利用Cbutton成员函数GetCheck和SetCheck,第二种是利用CWnd成员函数IsDlgButtonChecked,最后就是把checkbox复选框控件与BOOL型变量相关联。 一、用CButton成员函数 MFC中复选框CheckBox的基类是CButton。那么就可以用GetDlgItem来获取复选框的指针,
CListCtrl Checkbox 被点击消息捕获 判断单击 click响应 单击消息 单击状态
原文来自:http://blog.163.com/danshiming%40126/blog/static/10941274820134244250444/ 找了很多,有说响应NM_CLICK的,有说响应ItemChanged的,还是上面网址的哥们好使。不过我这里放出函数的创建过程,方便初学者,大家拿去happy吧。 1、在h文件定义函数: afx_msg void CDlgFIFO::O
自绘CListCtrl控件中,使用了OnNMClick消息后,外界对话框中再使用时,不能响应消息
问题:在自绘CListCtrl控件时,自绘了OnNMClick消息,当我在对话框中使用自绘控件的OnNMClick消息时,发现该消息不能响应。 原因: 在自绘控件时,阻止了子窗口向外部父窗口发送该消息。 解决: 定义消息 afx_msg BOOL OnNMClick(NMHDR *pNMHDR, LRESULT *pResult); //在此,一定要注意,返回值一定是BOOL值。因
MFC总结之CListCtrl用法及技巧(一)
本文根据本人在项目中的应用,来谈谈CListCtrl的部分用法及技巧。当初学习时,查了很多资料,零零碎碎的作了些记录,现在主要是来做个总结,方便以后查阅。主要包括以下十三点内容:基本操作、获取选中行的行号、复选框操作、动态设置选中行的字体颜色、设置选中行的背景颜色、禁止拖动表头、让第一列居中显示、设置行高与字体、虚拟列表技术、点击表头时进行归类、向上与向下移动、动态调整大小问题、避免闪烁问题。
mfc CListctrl响应单击事件开启新的对话框
1..h文件添加消息处理函数 afx_msg void OnClickList(NMHDR* pNMHDR, LRESULT* pResult); 2..cpp文件添加响应 ON_NOTIFY(NM_CLICK ,IDC_LISTDISK,OnClickList) 3.实现响应函数 void CDiskIformationDlg::OnClickList(NMHD
MFC中如何使用CListCtrl可以编辑,并添加鼠标右键及双击事件。
通过以上步骤,你可以在MFC中使用CListCtrl实现编辑功能,并添加鼠标右键和双击事件的处理。通过以上步骤,你可以在MFC中使用CListCtrl实现编辑功能,并添加鼠标右键和双击事件的处理。
7715




被折叠的 条评论
为什么被折叠?



