按Ctrl键会引发几次按键消息

简介: 按Ctrl键会引发几次按键消息

(一),新建一个单文档工程CtrlEg。

(二),为CCtrlEgView的WM_KEYDOWN消息和WM_KEYUP消息添加响应函数。具体代码如下:

void CCtrlEgView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
 {
  CString strMess ;
  strMess.Format("CCtrlEgView::OnKeyDown nChar = %d nFlags = %x/n",nChar,nFlags);
  TRACE(strMess);
 }
 CView::OnKeyDown(nChar, nRepCnt, nFlags);
}
void CCtrlEgView::OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags)
{
 {
  CString strMess ;
  strMess.Format("CCtrlEgView::OnKeyUp   nChar = %d nFlags = %x/n",nChar,nFlags);
  TRACE(strMess);
 } 
 CView::OnKeyUp(nChar, nRepCnt, nFlags);
}

(三)只按Ctrl键,结果如下:

CCtrlEgView::OnKeyDown nChar = 17 nFlags = 1d
CCtrlEgView::OnKeyUp   nChar = 17 nFlags = c01d

(四)按Ctrl+v,结果如下:

CCtrlEgView::OnKeyDown nChar = 17 nFlags = 1d
CCtrlEgView::OnKeyUp   nChar = 17 nFlags = c01d
CCtrlEgView::OnKeyUp   nChar = 86 nFlags = c02f

(五),删除“粘贴”命令的快捷键,具体操作是从快捷键资源IDR_MAINFRAME中删除项ID_EDIT_PASTE。再按Ctrl+v键,结果如下:

CCtrlEgView::OnKeyDown nChar = 17 nFlags = 1d
CCtrlEgView::OnKeyDown nChar = 86 nFlags = 2f
CCtrlEgView::OnKeyUp   nChar = 17 nFlags = c01d
CCtrlEgView::OnKeyUp   nChar = 86 nFlags = c02f

附:

#define VK_CONTROL        0x11
VK_0 thru VK_9 are the same as ASCII '0' thru '9' (0x30 - 0x39)
VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' (0x41 - 0x5A)
相关文章
|
存储 C++ 容器
c++vector容器-赋直操作讲解
c++vector容器-赋直操作讲解
1285 0
|
Shell 开发工具 git
git拉取分支的方法?
1.在工作空间下,右键,选择Git Bash 进入到里面
349 0
|
负载均衡 算法 前端开发
同步和异步
同步和异步
563 0
|
10月前
|
存储 安全 Go
Go语言中的map数据结构是如何实现的?
Go 语言中的 `map` 是基于哈希表实现的键值对数据结构,支持快速查找、插入和删除操作。其原理涉及哈希函数、桶(Bucket)、动态扩容和哈希冲突处理等关键机制,平均时间复杂度为 O(1)。为了确保线程安全,Go 提供了 `sync.Map` 类型,通过分段锁实现并发访问的安全性。示例代码展示了如何使用自定义结构体和切片模拟 `map` 功能,以及如何使用 `sync.Map` 进行线程安全的操作。
291 9
|
Linux 网络安全 Windows
[linux]frp内网穿透
[linux]frp内网穿透
297 2
|
11月前
|
Go
go语言for遍历映射(map)
go语言for遍历映射(map)
409 12
|
12月前
|
存储 Go
go语言 遍历映射(map)
go语言 遍历映射(map)
345 2
|
存储 前端开发 API
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
该文章详细介绍了ES6中Set和Map数据结构的特性和使用方法,并探讨了它们在前端开发中的具体应用,包括如何利用这些数据结构来解决常见的编程问题。
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
|
Java Maven 开发者
深入剖析Spring Boot在Java Web开发中的优势与应用
深入剖析Spring Boot在Java Web开发中的优势与应用
480 3
MFC添加年月日时分秒控件
MFC添加年月日时分秒控件
279 0