从CWND继承的类,重载OnWndMsg函数,接收不到键盘消息

gjy1606 2009-08-12 04:38:51
一个MFC程序,左边是一个ListView的窗口,右边的窗口貌似是正常的吧。
我从Cwnd继承了一个类,重载了OnWndMsg,打算自己处理鼠标和键盘事件(右边的窗口),但是我只能接收到鼠标的消息,键盘的消息都接收不到(case WM_KEYDOWN没有东西)。我试过了用OnKeyDown来处理键盘消息,但也是接收不到。
在操作的过程中我发现键盘的上下左右老是能操作左边的ListView,尽管我鼠标点了右边的窗口。会不会是焦点没在右边的窗口上,所以键盘消息都被左边的ListView给截获了?
因为我只是在改别人的代码,如果是我分析的这种情况,是否有哪位大大给我分析下为啥焦点过不来。
因为代码比较杂,光看一点没啥用,我就不贴代码了。谢谢。
...全文
151 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
gjy1606 2009-08-12
  • 打赏
  • 举报
回复
已经找出原因了,谢谢。
是右边的窗口是从CWND继承来的,鼠标点到上面没办法获得焦点,现在想办法在点击的时候获得焦点就OK了。
fishion 2009-08-12
  • 打赏
  • 举报
回复
重写WindowProc或PreTranslateMessage试试

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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