键盘消息捕获--MFC
创建键盘接口:
有一个简单的方法:在窗口过程中增加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相关推荐
- 使用钩子函数获取全部的鼠标消息和键盘消息
在编程过程中,有时候需要捕获一些消息,来进行操作,钩子一共有14种, WH_CALLWNDPROC 当调用SendMessage时 WH_CALLWNDPROCRET 当SendM ...
- Windows 编程常用键盘消息命令
每一个点都很值得研究,这都是皮毛. 1.扫描码与虚拟码 键盘从最早的83键发展到当今流行的101键,虽然增加了许多键,但按键的基本操作保持不变,即按下一个键或释放一个键.按 ...
- Windows消息机制MFC编程(一)
一.消息分类与消息队列 Windows中,消息使用统一的结构体(MSG)来存放信息,其中message表明消息的具体的类型,而wParam,lParam是其最灵活的两个变量,为不同的消息类型时,存放数 ...
- 【笨嘴拙舌WINDOWS】键盘消息,鼠标消息
键盘消息 Windows系统无论何时只有一个窗口(可能是子窗口,也就是控件)能获得焦点. 焦点窗口通过windows消息来响应人的键盘操作,与键盘相关的常用消息罗列如下: WM_KEYDOWN 按 ...
- ActiveX控件键盘消息无法响应 ATL COM
最近使用ATL创建了一个复合控件,想在其上面相应Delete的键盘消息,但发现直接响应WM_KEYDOWN消息竟然没反应,事情是这样的: 1.起初我直接添加消息WM_KEYDOWN的响应函数,键盘按下 ...
- vc鼠标消息与键盘消息
在Microsoft Windows 中,键盘和鼠标是两个标准的用户输入源,在一些交叠的操作中通常相互补充使用.当然,鼠标在今天的应用程序中比10年前使用得更为广泛.甚至在一些应用程序中,我们更习惯于 ...
- OpenGL键盘消息实例
OpenGL 键盘消息实例 先上图,再解答. 正常显示 按下M键显示 完整主要的源代码 源代码剖析 先上图,再解答. 正常显示 按下M键显示 完整主要的源代码 #
- keybd_event跟SendMessage,PostMessage模拟键盘消息的区别 z
首先你会发现keybd_event函数中是没有窗口句柄作为参数的,好奇的你一定会觉得很奇怪,那是因为,keybd_event是全局模拟按键的,只对前台窗口(即当前的活动窗口)才可以,但是如果模拟的按键 ...
- QGraphicsWidget收不到鼠标、键盘消息解决
问题的提出: 最近利用Graphics View Framework 实现一需求,其中要求鼠标按住QGraphicsWidget实现随意拖动,但调试发现鼠标.键盘的任何消息,QGraphicsWidg ...
最新文章
- 将时间改为显示:几天前,几小时前,或者几分钟前
- hi3559 目标检测
- 12-思科防火墙:ASA会话超时
- 数据结构复习笔记(2)
- 【先生】丘成桐:中国人可以做世界一流学者
- 更改 SQL Server 2000 端口号
- [转]网易云音乐Android版使用的开源组件
- 小心投机分子绿坝软件的苦肉计
- mysql使用变量填值为数组_MySQL如何有效的存储IP地址?
- Codejock Xtreme Controls 最新版下载试用2021版本
- Weka安装后无法打开
- ubuntu取消代理
- outlook邮件撤回
- 迅雷推阅读产品 市场容不下生力军
- 买台式计算机什么指标的好,购买电脑时,只要你了解了这几个参数,就能保证不被坑...
- 北京队“接触风波”受罚背后:CBA职业化不断进步
- 线性表的创建和基本操作
- 服务器操作系统版本号怎么看,服务器怎么看操作系统版本号
- 【注意力机制】Squeeze-and-Excitation Networks论文理解
- RSI指标及其发明人Welles Wilder的前世今生
热门文章
- JZOJ 5677. 【GDOI2018Day2模拟4.21】纽约
- JZOJ 5629. 【NOI2018模拟4.4】Map
- 【五校联考6day2】yi
- k8s使用volume将ConfigMap作为文件或目录直接挂载_从零开始入门 K8s | 如何实现应用配置管理?...
- linux脚本下载,一个测试下载速度的shell脚本
- e站host地址_Linux系统怎么使用命令行查询公网IP地址
- excel 进行二叉树_Excel下拉菜单,那些你不知道的操作
- 【Unity3D与23种设计模式】模板方法模式(Template Method)
- 由web项目中上传图片所引出的路径问题
- UVa 10082 - WERTYU 解题报告 - C语言