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

在Win32对话框中,符号和加速器会发出哔哔声

  •  0
  • wpfwannabe  · 技术社区  · 14 年前

    我已经有一段时间没有做Win32 API开发了。为了让快捷键工作,是否需要对动态创建的子窗口(工具栏)执行某些操作?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Glorfindel RameshVel    3 年前

    好。。。您必须编写代码来处理这些按键并将它们转换为 WM_COMMAND TranslateAccelerator() -当然,你可以随心所欲。。。只要确保你处理的键和你划的键一致就行了!

    您可能还会发现这篇知识库文章很有帮助: How to use accelerator keys within a modal dialog box in Visual C++ part 4: The dialog loop part 9: Custom accelerators in dialog boxes (但说真的,通读一遍,你知道你想……)

        2
  •  1
  •   Stefan    14 年前

    由于您动态创建了工具栏,我猜工具栏窗口没有正确设置为主窗口的子窗口(即,它的父窗口和所有者窗口没有设置)。

    测试:单击工具栏使其具有焦点,然后按Alt键,它应该可以工作。