码迷,mamicode.com
首页 > 其他好文 > 详细

CListCtrl在处理NM_CLICK的时候,如何判断Ctrl SHIFT ALT键是否按下

时间:2014-08-26 22:59:56      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:mfc   clistctrl   

百度 NMITEMACTIVATE
在 NM_CLICK  的处理函数中,将 NMHDR 结构强制转换成 NMITEMACTIVATE,这一步MS已经帮助我们完成了,其中,结构体中的 uKeyFlags 就是特殊按键的信息
LVKF_ALT 表示 alt 键被按下
LVKF_CONTROL 表示 ctrl 键被按下

LVKF_SHIFT 表示 shift 键被按下。

具体程序如下:

void CCCCCCCDlg::OnNMClickList1(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE >(pNMHDR);
// TODO: 在此添加控件通知处理程序代码
if(LVKF_CONTROL ==pNMItemActivate->uKeyFlags){
TRACE("%d LVKF_CONTROL\r\n",pNMItemActivate->uKeyFlags);
}
if(LVKF_ALT  ==pNMItemActivate->uKeyFlags){
TRACE("%d LVKF_ALT \r\n",pNMItemActivate->uKeyFlags);
}
if(LVKF_SHIFT  ==pNMItemActivate->uKeyFlags){
TRACE("%d LVKF_SHIFT \r\n",pNMItemActivate->uKeyFlags);
}

*pResult = 0;
}

输出如下:

2 LVKF_CONTROL
4 LVKF_SHIFT 
1 LVKF_ALT 

CListCtrl在处理NM_CLICK的时候,如何判断Ctrl SHIFT ALT键是否按下

标签:mfc   clistctrl   

原文地址:http://blog.csdn.net/zqckzqck/article/details/38855675

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!