atl写activeX控件的问题

sssxueren 2002-10-28 10:46:46
我用atl写activeX控件,把m_bWindowOnly设置为true,就可以处理windows消息了,但是,接收不到一些按键的消息呀,譬如方向键、home、end这些都收不到,为什么呢?

另外,我是在ie下测试的,ie有滚动条,按下键,滚动条响应了,是不是因为这个我才接收不到消息了?但是我用F11切换到全屏模式没有滚动条还是不行呀
...全文
51 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
dongweimiao 2002-10-31
  • 打赏
  • 举报
回复
sorry ,it must be PreTranslateAccelerator()
dongweimiao 2002-10-31
  • 打赏
  • 举报
回复
use PreTranslateAccelaotr()
bojinyu 2002-10-30
  • 打赏
  • 举报
回复
可以先判断是否要拦截,然后再调用原来的
sssxueren 2002-10-29
  • 打赏
  • 举报
回复
直接改写windowsImp那个class里面的消息循环代码?还是在注册窗口的时候把我自己的wndproc写进去?但是我要在translatemessage的之前改呀,那不是得改消息循环部分?直接改atl的代码吗?还是重载它的消息循环函数?
sssxueren 2002-10-29
  • 打赏
  • 举报
回复
to FlyingSnow(十二月飞雪)

谢谢,我查msdn找到pretranslatemessage了,确实可以这样来处理,有mfc的例子,但是我用atl写的呀,

其实好像也就是在Translatemessage前调用的一个虚函数吧,我对atl不熟,应该怎样在atl里面处理呢?
DouDouBug 2002-10-29
  • 打赏
  • 举报
回复
很简单的了,你只要用自己的窗口过程把它的替换掉就可以了
FlyingSnow 2002-10-28
  • 打赏
  • 举报
回复
你在pretranslatemessage中接收这些按键试试,有时候按键消息传递不到onchar的。
joachern 2002-10-28
  • 打赏
  • 举报
回复
up
sssxueren 2002-10-28
  • 打赏
  • 举报
回复
其它的按键消息,都可以收到,wm_char那些,而且,我连wm_syskeydown也处理了,还是不行:(

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧