gpt4 book ai didi

c++ - Win32 C++ 在运行时为 MenuItem 分配/更改快捷键

转载 作者:行者123 更新时间:2023-11-28 03:23:26 24 4
gpt4 key购买 nike

我想为在 C++ 中运行时没有快捷键的菜单项分配快捷键并能够更改它。我查看了文档和 MSDN,但我不清楚如何做到这一点。

最佳答案

您需要管理自己的加速器表。

您可以从 ACCEL 结构数组创建资源表,填充并将它们传递给 CreateAcceleratorTable。或者您可以通过 LoadAccelerators 从资源中加载它们。这为您提供了 HACCEL 句柄。在您的主消息循环中,在 TranslateAccelerator 调用中使用此 HACCEL 句柄。

当需要编辑加速器时,如果您不再有 ACCEL 数组,请使用 HACCEL 句柄调用 CopyAcceleratorTable 以取回 ACCEL 数组。根据需要编辑此数组,然后使用 CreateAcceleratorTable 重新创建一个新的 HACCEL 句柄并删除旧的。在下一次更改之前使用这个新的加速器句柄。

您的 WndProc 将获取这些加速器的消息。在消息处理程序中调用菜单操作处理程序的实现。

关于c++ - Win32 C++ 在运行时为 MenuItem 分配/更改快捷键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14804532/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com