请问关于键盘按键消息的捕获 有关问题
请教关于键盘按键消息的捕获 问题
我在主对话框中有1个窗口视图A和2个控件(分别是列表控件和EDIT控件),其中列表控件有滚动条,我想在A上响应键盘消息,于是添加函数OnKeyDown,普通键可以响应,就是VK_LEFT VK_RIGHT VK_UP VK_DOWN 却不能响应,而我就是要用这四个键。而且我轮流按这四个键的时候发现焦点会轮到2个控件上。
我改用PreTranslateMessage,当我按动这四个键的时候,并没有完全捕捉到全部的动作,有的按键动作没有捕捉到,而是把焦点移到了控件上。
但是我在这两个控件上没有做什么啊。。
这怎么解决啊。
------解决方案--------------------
PreTranslateMessage应该可以的啊, 如果你不想让对话框进行默认处理的话return TRUE就行了
------解决方案--------------------
CDialog::PreTranslateMessage的默认处理是这样的,
你在PreTranslateMessage里没拦截掉吗?把代码贴出来看看
------解决方案--------------------
晕, 你要在主对话框的PreTranslateMessage里面过滤, 不是View里面..
我在主对话框中有1个窗口视图A和2个控件(分别是列表控件和EDIT控件),其中列表控件有滚动条,我想在A上响应键盘消息,于是添加函数OnKeyDown,普通键可以响应,就是VK_LEFT VK_RIGHT VK_UP VK_DOWN 却不能响应,而我就是要用这四个键。而且我轮流按这四个键的时候发现焦点会轮到2个控件上。
我改用PreTranslateMessage,当我按动这四个键的时候,并没有完全捕捉到全部的动作,有的按键动作没有捕捉到,而是把焦点移到了控件上。
但是我在这两个控件上没有做什么啊。。
这怎么解决啊。
------解决方案--------------------
PreTranslateMessage应该可以的啊, 如果你不想让对话框进行默认处理的话return TRUE就行了
------解决方案--------------------
CDialog::PreTranslateMessage的默认处理是这样的,
你在PreTranslateMessage里没拦截掉吗?把代码贴出来看看
------解决方案--------------------
晕, 你要在主对话框的PreTranslateMessage里面过滤, 不是View里面..