代码之家  ›  专栏  ›  技术社区  ›  StackedCrooked

如何防止箭头键改变用户界面状态?

  •  1
  • StackedCrooked  · 技术社区  · 14 年前

    但是,按键也会影响UI。移动箭头键可能会更改单选或组合框的选择状态,按空格键可能会触发按钮或复选框,具体取决于当前具有焦点的控件。

    有办法防止这种情况发生吗?我的临时方法是把注意力集中在一个隐藏的文本框上。我希望有一个更干净的解决方案。

    2 回复  |  直到 14 年前
        1
  •  1
  •   JimR    14 年前

    如果使用的是WH_KEYBOARD LL或WH_KEYBOARD hook,则可以从hookproc返回1,以防止密钥传递到系统的其他部分。

    然而,这可能会对使用钩子的东西造成破坏,并在钩子链中追击你。

    如果你正在编写一个GDI应用程序,你已经有了一个消息循环,有没有什么原因你不使用消息循环来查找KEY-UP/KEY-DOWN消息?

        2
  •  1
  •   fhj    14 年前

    这是真的钩子吗(用SetWindowsHook设置)?如果是这样,则在处理消息时可以从hookproc返回非零值,Windows不会将消息传递给对话框。