创建键盘接口:

  有一个简单的方法:在窗口过程中增加WM_KEYDOWN逻辑,类似于复制了所有的WM_VSCROLL 和 WM_HSCROLL逻辑。但是,不管什么时候我们想修改滚动条逻辑,就不得不在WM_KEYDOWN消息上做同样的改变。这样的做法是不明智的

  另一种更好的方法:把每一个WM_KEYDOWN消息转换为同等的WM_VSCROLL 或者 WM_HSCROLL消息。可以通过给窗口过程发送假的消息欺骗函数 WndProc函数,使她认为受到了滚动消息。

发送函数为SendMessage:

SendMessage(hwnd,message,wParam,lParam);

向他发送的窗口过程可以使同一个窗口过程,也可以使同一程序中其他窗口过程,或者甚至是另一个应用程序的窗口过程。

类似处理过程:

case WM_KEYDOWN:switch(wParam){case VK_HOME:SendMessage(hwnd,WM_VSCROLL,SB_TOP,0);break;case VK_END:SendMessage(hwnd,WM_VSCROLL,SB_BOTTOM,0);break;case VK_PRIOR:SendMessage(hwnd,WM_VSCROLL,SB_PAGEUP,0);break;
.....//以此类推

程序代码:

转载于:https://www.cnblogs.com/xing901022/archive/2012/10/31/2748641.html

键盘消息捕获--MFC相关推荐

  1. 使用钩子函数获取全部的鼠标消息和键盘消息

    在编程过程中,有时候需要捕获一些消息,来进行操作,钩子一共有14种, WH_CALLWNDPROC       当调用SendMessage时 WH_CALLWNDPROCRET     当SendM ...

  2. Windows 编程常用键盘消息命令

           每一个点都很值得研究,这都是皮毛.        1.扫描码与虚拟码 键盘从最早的83键发展到当今流行的101键,虽然增加了许多键,但按键的基本操作保持不变,即按下一个键或释放一个键.按 ...

  3. Windows消息机制MFC编程(一)

    一.消息分类与消息队列 Windows中,消息使用统一的结构体(MSG)来存放信息,其中message表明消息的具体的类型,而wParam,lParam是其最灵活的两个变量,为不同的消息类型时,存放数 ...

  4. 【笨嘴拙舌WINDOWS】键盘消息,鼠标消息

    键盘消息 Windows系统无论何时只有一个窗口(可能是子窗口,也就是控件)能获得焦点. 焦点窗口通过windows消息来响应人的键盘操作,与键盘相关的常用消息罗列如下: WM_KEYDOWN   按 ...

  5. ActiveX控件键盘消息无法响应 ATL COM

    最近使用ATL创建了一个复合控件,想在其上面相应Delete的键盘消息,但发现直接响应WM_KEYDOWN消息竟然没反应,事情是这样的: 1.起初我直接添加消息WM_KEYDOWN的响应函数,键盘按下 ...

  6. vc鼠标消息与键盘消息

    在Microsoft Windows 中,键盘和鼠标是两个标准的用户输入源,在一些交叠的操作中通常相互补充使用.当然,鼠标在今天的应用程序中比10年前使用得更为广泛.甚至在一些应用程序中,我们更习惯于 ...

  7. OpenGL键盘消息实例

    OpenGL 键盘消息实例 先上图,再解答. 正常显示 按下M键显示 完整主要的源代码 源代码剖析 先上图,再解答. 正常显示 按下M键显示 完整主要的源代码 #

  8. keybd_event跟SendMessage,PostMessage模拟键盘消息的区别 z

    首先你会发现keybd_event函数中是没有窗口句柄作为参数的,好奇的你一定会觉得很奇怪,那是因为,keybd_event是全局模拟按键的,只对前台窗口(即当前的活动窗口)才可以,但是如果模拟的按键 ...

  9. QGraphicsWidget收不到鼠标、键盘消息解决

    问题的提出: 最近利用Graphics View Framework 实现一需求,其中要求鼠标按住QGraphicsWidget实现随意拖动,但调试发现鼠标.键盘的任何消息,QGraphicsWidg ...

最新文章

  1. 将时间改为显示:几天前,几小时前,或者几分钟前
  2. hi3559 目标检测
  3. 12-思科防火墙:ASA会话超时
  4. 数据结构复习笔记(2)
  5. 【先生】丘成桐:中国人可以做世界一流学者
  6. 更改 SQL Server 2000 端口号
  7. [转]网易云音乐Android版使用的开源组件
  8. 小心投机分子绿坝软件的苦肉计
  9. mysql使用变量填值为数组_MySQL如何有效的存储IP地址?
  10. Codejock Xtreme Controls 最新版下载试用2021版本
  11. Weka安装后无法打开
  12. ubuntu取消代理
  13. outlook邮件撤回
  14. 迅雷推阅读产品 市场容不下生力军
  15. 买台式计算机什么指标的好,购买电脑时,只要你了解了这几个参数,就能保证不被坑...
  16. 北京队“接触风波”受罚背后:CBA职业化不断进步
  17. 线性表的创建和基本操作
  18. 服务器操作系统版本号怎么看,服务器怎么看操作系统版本号
  19. 【注意力机制】Squeeze-and-Excitation Networks论文理解
  20. RSI指标及其发明人Welles Wilder的前世今生

热门文章

  1. JZOJ 5677. 【GDOI2018Day2模拟4.21】纽约
  2. JZOJ 5629. 【NOI2018模拟4.4】Map
  3. 【五校联考6day2】yi
  4. k8s使用volume将ConfigMap作为文件或目录直接挂载_从零开始入门 K8s | 如何实现应用配置管理?...
  5. linux脚本下载,一个测试下载速度的shell脚本
  6. e站host地址_Linux系统怎么使用命令行查询公网IP地址
  7. excel 进行二叉树_Excel下拉菜单,那些你不知道的操作
  8. 【Unity3D与23种设计模式】模板方法模式(Template Method)
  9. 由web项目中上传图片所引出的路径问题
  10. UVa 10082 - WERTYU 解题报告 - C语言