我来解释一下:
prettywolf(多情自古空余,此恨绵绵无绝期) 说得是对的,在同一个时刻,
KeyDown事件对于普通键(即非控制键)来说只是一个键的事件。也就是说在
keyDown事件里只有一个键被当作参数传入。
当一个键被按下不放时,会连续不断地触发KeyDown事件。但是如何解释你所说的情况呢?如何实现呢?
这就要借助于函数GetKeyState来判断。如果不借助这个函数,你的情况也可以处理,就是记录每个键的状态为 pressed ,Up:当某个键KeyDown事件时,标记这个键处于 pressed状态,当KeyUp事件时,标记为Up
当按下Left时,判断一下别的键的状态即可知道是不是有组合键情况。
这样对于方向的控制来说已经足够应付了(组合情况不太多)。

解决方案 »

  1.   

    一个例子:当Left键和Up键”同时“被按下时,触发KeyDown事件,系统顺序处理
    假设Left键先处理  标记Left键处于Pressed状态,然后看是否有组合键,此时结论为没有。
    再处理Up键,标记Up键处于Pressed状态。然后看是否有组合键,此时结论为有。当Left键和Up键被释放时,分别触发各自的KeyUp事件,依次在事件处理函数里面将键的状态标记为Up状态,然后检查是否有组合键。
      

  2.   

    多谢楼上rpProgramer 和 prettywolf ,我已经送分给您们,如果愿意留下E-Mail信箱,我将过几天根据您们的答案完善我的游戏,并且发送给您们
      

  3.   

    [email protected]
    来吧,我也来支持我们的自由软件