点击按钮后不监控击键

本文关键字:监控 按钮 | 更新日期: 2023-09-27 18:16:40

我制作了一款角色使用方向键移动的游戏。在相同的形式中,在右侧有一些按钮和其他控件,但当它们被按下时,角色不会响应按键事件。怎么解呢?

点击按钮后不监控击键

说明:

这是因为Windows有"焦点"的概念。(仔细阅读。)关键事件只发送给具有焦点的控件,并且在任何给定时间,表单中只有一个控件具有焦点。你可能有一些渲染你的角色的控件,并且你把你的关键事件处理程序放在那个控件上。当表单第一次弹出时,您将焦点放在呈现控件上,所以一切都很好。但是一旦你点击另一个控件,那个控件就会获得焦点,所以你的渲染控件就不再有焦点了。

解决方案:

单击按钮后,使用SetFocus()将焦点返回到渲染控件。