VC6.0--CListCtrl中的NM_CLICK事件(CheckBox通过Shift与鼠标左键实现多选)

VC 6.0 MFC ListControl 控件的使用 1、ListControl的风格设置: 注释:m_listctrl为ListControl控件的control类型的变量,以下为风格设置代码:  DWORD   dwStyle   =   m_listctrl.GetExtendedStyle();  dwStyle  |=  LVS_EX_FULLROWSELECT;//中某行使整行高亮(只适用report风格的listctrl) 阅读详情

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 MFC列表控件的基本使用方法 1、添加ListCtrl控件  2、属性中View(样式)设置为Report(报告) 3、类向导为列表控件关联变量 4、初始化列表: 在列表控件所在的对话框类里的OnInitDialog()函数中初始化表头: //列表初始化 m_ListData.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);//添加网... 阅读详情

相关推荐

VC 6.0 适时添加ListBox列表框数据.rar

VC 6.0 适时添加ListBox列表框数据,也就是在执行程序的过程中,需要时会对ListBox列表框即时赋值,生成新的列表内容,在VC实现这种动态添加列表框值的方法,请参见本代码中所表达的思路。

正确响应CListCtrl的单击事件

正确响应CListCtrl的单击事件 ON_NOTIFY_REFLECT(NM_CLICK, OnClick)

阿木的小小博 7715

VC++ CheckBox 自绘

checkBox进行自绘,可以实现修改背景色,背景图片,对于已和未状态分别显示不同的图片

代码触发clistctrl控件的NM_CLICK事件

首先,这是个比较简单的功能,也就是实现CListCtrl控件可以处理完当前行后自动换到下一行而且自已中,思路很简单,先给CListCtrl控件添加个NM_CLICK事件响应函数,手动或者自动都行。然后用代码中需要显示的行,代码如下: m_List.SetFocus() m_List.SetItemState(nItem,LVIS_SELECTED|LVIS_FOCUSED, LVIS_SEL

All sad people like poetry, happy people like song 5837

C++自定义ClistCtrl控件响应数据项的点击事件&&消息反射的原理

ON_NOTIFY不反射消息.如果自己处理不了,就传给上级窗口,如果再处理不了,在往上传.实在处理不了,由框架默认处理. ON_NOTIFY_REFLECT 反射消息.把消息传给上级窗口处理,如果上级都处理不了,再反射回来,自己处理. 这就是MFC强大的消息反射机制.如果上级窗口处理,则子窗口不处理; 为了项目的需要,往往需要编写自定义控件。当然,很时候都是在现

Howard_Liu1314的专栏 3202

ListCtrl列表控件中NM_CLICK消息的发送和处理一例

//NM_CLICK消息的作用是模拟中某一行(一个Item),但其消息处理函数只//能获得被模拟中的行号,要在界面中高亮中行需要另加代码,可参考下面//的代码//发送消息,只能在同一进程中发送NMITEMACTIVATE data; //构建消息处理函数所需参数 ZeroMemory(&data, sizeof(data)); data.h

Lyndon的专栏 9427

CListCtrl 单击事件问题

搞了个wince的测试程序,里面用到CListCtrl控件,在响应其单击某一行的事件的时候,老是出问题。开始使用OnLvnItemchanged响应点击事件,发现一个问题。第一次点击某一行,可以正常响应对应的处理;处理完后,回来再点击同样一行就进不了处理了。哥们那个郁闷呀!后来才发现使用OnNMClick事件处理,其中的处理如下就正常了。 void CD3GMessageDlg::OnNMCli...

mmdev 645

MFC checkbox使用方法

MFC中复checkbox控件,至少有三种方法对其进行操作,他们是利用Cbutton成员函数GetCheck和SetCheck,第二种是利用CWnd成员函数IsDlgButtonChecked,最后就是把checkbox框控件BOOL型变量相关联。 一、用CButton成员函数 MFC中复CheckBox的基类是CButton。那么就可以用GetDlgItem来获取复框的指针,

dearmango 1万+

CListCtrl Checkbox 被点击消息捕获 判断单击 click响应 单击消息 单击状态

原文来自:http://blog.163.com/danshiming%40126/blog/static/10941274820134244250444/ 找了很,有说响应NM_CLICK的,有说响应ItemChanged的,还是上面网址的哥们好使。不过我这里放出函数的创建过程,方便初学者,大家拿去happy吧。 1、在h文件定义函数: afx_msg  void CDlgFIFO::O

LYJ个人博客,记录技术、八卦、生活,分享各种心得,期待与朋友们一同进步 4301

自绘CListCtrl控件中,使用了OnNMClick消息后,外界对话框中再使用时,不能响应消息

问题:在自绘CListCtrl控件时,自绘了OnNMClick消息,当我在对话框中使用自绘控件的OnNMClick消息时,发现该消息不能响应。 原因: 在自绘控件时,阻止了子窗口向外部父窗口发送该消息。 解决: 定义消息 afx_msg BOOL OnNMClick(NMHDR *pNMHDR, LRESULT *pResult); //在此,一定要注意,返回值一定是BOOL值。因

糯诺诺米团 5441

MFC总结之CListCtrl用法及技巧(一)

本文根据本人在项目中的应用,来谈谈CListCtrl的部分用法及技巧。当初学习时,查了很资料,零零碎碎的作了些记录,现在主要是来做个总结,方便以后查阅。主要包括以下十三点内容:基本操作、获取中行的行号、复框操作、动态设置中行的字体颜色、设置中行的背景颜色、禁止拖动表头、让第一列居中显示、设置行高字体、虚拟列表技术、点击表头时进行归类、向上向下移动、动态调整大小问题、避免闪烁问题。

茅庐 5万+

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

qq_31479277的博客 4108

MFC中如何使用CListCtrl可以编辑,并添加鼠标右键及双击事件

通过以上步骤,你可以在MFC中使用CListCtrl实现编辑功能,并添加鼠标右键和双击事件的处理。通过以上步骤,你可以在MFC中使用CListCtrl实现编辑功能,并添加鼠标右键和双击事件的处理。

学无止尽,谨言慎行! 2462
上一篇: [转]vc中的ListCtrl用法收藏
下一篇: VC6.0中对消息的特殊处理--PreTranslateMessage说明
roofwei
博客等级 码龄19年 21粉丝 36原创
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值