Form上的控件不响应WM_KEYDOWN中的方向键消息,急!!!

stzhou 2002-11-19 04:40:22
用ATL做了一个控件,里面添加了OnKeyDown窗口事件,对方向键消息进行处理。但在VB中测试时发现VB的Form对方向件消息进行了拦截,用于处理控件焦点的转换,我的控件中其它键的消息可以得到,唯独不能响应方向键,如何处理?
...全文
91 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
stzhou 2002-11-19
  • 打赏
  • 举报
回复
LRESULT OnKeyDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
if(::GetKeyState(VK_LEFT)<0)
::MessageBox(NULL,"VK_LEFT","info",MB_OK);
::MessageBox(NULL,"OnKeyDown","info",MB_OK);
return 0;
}
这是我ATL中的代码,如果先按下LEFT键,再按非方向键可以响应消息,也可以检测到Left键被按下。如果仅按下LEFT键该事件不会被响应,但VC的单文档测试程序可以响应。
stzhou 2002-11-19
  • 打赏
  • 举报
回复
将窗体的keypreview属性设置为False,我已经试过了,不行呀!
holydiablo 2002-11-19
  • 打赏
  • 举报
回复
VB中TextBox可以得到方向键的KeyCode
对你有帮助吗
SuperZhou 2002-11-19
  • 打赏
  • 举报
回复
将窗体的keypreview属性设置为False

—————————————————————————————————
┏━★━━◆━━★━┓
♂欢|◢CSDN◣|使♂        ▲自由保存帖子,浏览,关注检测
┃迎|◥论坛助手◤|用┃        ▲完善的CSDN客户端工具
┗━☆━━◇━━━☆┛       ▲自动添加签名......

让你更快,更爽,更方便地上CSDN...
http://www.csdn.net/expert/topic/573/573604.xml
http://www.chinaok.net/csdn/csdn.zip

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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