有一个对话框,其中包含一些可以获得焦点的控件(比如EditBox,Button等)
问题是:对话框我使用资源编辑器来编辑出来,就算我取消了所有控件的焦点,使用SetFocus和WM_KILLFOCUS消息来取消,可是当我按下键盘的空格的时候,还是有一个控件响应到了键盘消息(button可以看到被按下的动作或者editbox里面被打了一个空格进去)。如果我使用CXXX.Create来动态创建editbox或者button也一样。我怎么控制这种行为?取消掉这个自动的动作?
另确认一点:
是不是任何一个对话框,若包含可获得键盘输入的控件,则必定会有一个控件会默认获得键盘的输入动作?
问题是:对话框我使用资源编辑器来编辑出来,就算我取消了所有控件的焦点,使用SetFocus和WM_KILLFOCUS消息来取消,可是当我按下键盘的空格的时候,还是有一个控件响应到了键盘消息(button可以看到被按下的动作或者editbox里面被打了一个空格进去)。如果我使用CXXX.Create来动态创建editbox或者button也一样。我怎么控制这种行为?取消掉这个自动的动作?
另确认一点:
是不是任何一个对话框,若包含可获得键盘输入的控件,则必定会有一个控件会默认获得键盘的输入动作?
可以控制任何输入
3楼的意思是,通过这个来拦截所有的消息,然后控制所有的键盘输入消息吗?
原理上是可行,实现起来可能会很复杂有没有相对简单点的办法?