ActiveX控件键盘消息无法响应 ATL COM
最近使用ATL创建了一个复合控件,想在其上面相应Delete的键盘消息,但发现直接响应WM_KEYDOWN消息竟然没反应,事情是这样的:
1.起初我直接添加消息WM_KEYDOWN的响应函数,键盘按下,此函数不响应。
2.无奈我又使用preTranslateMessage函数来拦截键盘消息,但只有少部分按键(如功能键、空格键)可以响应。
3.随之我觉得使用钩子一定可以,但效果还是没有出来,钩子没有响应Delete按键的消息....
苦思冥想,,,不知道Wnd中发生了什么事情,使得ActiveX中WM_KEYDOWN没法响应。
4.后来我用了一个最土的方法,土炮....
我认为如果focus在按钮或编辑框上,窗口一定会响应WM_KEYDOWN消息,抱着试一试的方法,在控件上添加了一个按钮,并在初始化窗口的时候对其MoveToWindow(0,0,0,0)让它看不见,并使用SetFocus对其进行focus,要确保你想要相应键盘消息的时候该按钮处于focus状态,简单的你可以在OnPaint函数最后对其SetFocus,然后用钩子捕获键盘消息,呵呵,问题解决了。
5.在在在后来我发现可以使用SetWindowLong来改变窗口过程,我想这下可以响应键盘消息了吧,没想到奇迹还是没有出现。
如果哪位大师看到此文,并理解为什么ActiveX不能直接响应WM_KEYDOWN消息的请指教,谢谢!
ActiveX控件键盘消息无法响应 ATL COM相关推荐
- 使用ATL创建简单ActiveX控件(一) —— 创建ATL项目
创建过程以VS2010为例,分三篇(创建ATL项目.添加方法/属性和枚举.添加连接点)演示.本篇演示创建ATL项目. 传送门: <使用ATL创建简单ActiveX控件(二) -- 添加方法/属性 ...
- VS2008 在IE8中 调试 ActiveX控件 无法进入断点的解决方法 设置VS2008和IE8 调试ATL MFC ActiveX控件
VS2008 在IE8中 调试 ActiveX控件 无法进入断点的解决方法 设置VS2008和IE8 调试ATL MFC ActiveX控件 参考文章: (1)VS2008 在IE8中 调试 Acti ...
- C++基于ATL工程编写ActiveX控件
开发环境:VS2010 开发工程:C++ATL项目 开发目的:创建ActiveX实现js调用 步骤: 1. 创建一个ATL工程 应用程序类型选择动态链接库(DLL),勾选支持COM+1.0, ...
- 基于MFC的ActiveX控件开发
转自:http://www.cnblogs.com/lidabo/archive/2012/12/04/2800921.html ActiveX 控件是基于组件对象模型 (COM) 的可重用软件组件, ...
- 在 .NET Compact Framework 2.0 中宿主 ActiveX 控件
适用于: ActiveX Microsoft .NET Compact Framework 版本 2.0 摘要:了解如何在使用 .NET Compact 的应用程序中宿主 ActiveX 控件.本文提 ...
- 【转】激活 ActiveX 控件
用户无法直接与 APPLET.EMBED 或 OBJECT 元素加载的 Microsoft ActiveX 控件交互. 用户激活这些控件的用户界面后才可以与这些控件交互. 本主题介绍了 Microso ...
- VC ActiveX 控件 开发总结
VC 制作ActiveX 控件(OCX) http://ileson.iteye.com/blog/1002910 1.vc6下建立一下activeX工程 详见http://hi.baidu. ...
- 使用MFC开发ActiveX控件
摘要: 本文对COM组件中的ActiveX控件的MFC开发方法进行了介绍,讲述了用户自定义和库存属性.方法以及事件的添加方法和属性页的制作过程.使读者能够掌握基本的MFC ActiveX开发方法. 前 ...
- 以编程方式使用 Microsoft Office Visio 2003 ActiveX 控件(经经经经经典)
以编程方式使用 Microsoft Office Visio 2003 ActiveX 控件 发布日期 : 12/2/2004| 更新日期 : 12/2/2004 Mark Bukovec Empir ...
最新文章
- 蓝桥杯练习系统习题-历年真题解析1(完整版)
- 频谱分析:基于python画出时域频域波形
- 小型项目服务器要多少,小型服务器需要什么配置
- 用了这个方法,我下载GitHub项目速度达5MB/s!
- MySQL索引知识点
- 在Spring Boot中配置web app
- 基于VHDL的RISC microprocessor设计
- c++基础学习(11)--(模板、预处理器、信号处理)
- CF1041E Tree Reconstruction_构造_思维题
- 月薪过万的岗位名单,大家久等了!
- 在chinapub上搜“搜索引擎”,按照销量排序《搜索引擎零距离》居然是第一
- CAD 卸载工具,完美彻底卸载清除干净cad各种残留注册表和文件
- 子网掩码掩码计算器_Javascript加载掩码
- 盘点两个神器,快速告别垃圾短信邮件
- MAC 外接键盘卡顿处理
- win10系统进行电脑分盘
- c语言 约分最简分式
- 特征级融合_自动驾驶系统入门(七)- 多传感器信息融合(MSIF)
- 7-6 愿天下有情人都是失散多年的兄妹(25 分)
- Linux 使用docker搭建MySQL服务的一些细节问题