对话框管理器第九章:对话框中的自定义快捷键

对话框管理器第九章:对话框中的自定义快捷键

作者:BlogUpdater |  时间:2022-08-23 |  浏览:771 |  评论已关闭 条评论

与上篇文章类似,你还可以将自定义快捷键添加到对话框中。 (从某种意义上说,快捷键是自定义导航的一种,因为你可以将导航键实现为快捷键。)

那么,让我们使用快捷键来进行导航,而不是手动选择按键。 我们的快捷键表可能如下所示:

在上面的代码里,你可以看到,我对表格的逗号放置方法。 我喜欢将逗号放在字段的远端,而不是将其与列中的最后一个单词混为一谈。 这样做会使剪切/粘贴变得容易得多,因为你可以剪切一列并将其粘贴到其他地方,而无需处理后面的逗号。

假设你已将此快捷键表加载到变量“hacc”中,现在,你可以在自定义对话框循环中使用该表了:

TranslateAccelerator 函数检查消息是否与快捷键表中的任何条目匹配。 如果是这样,则它将 WM_COMMAND 消息发布到作为其第一个参数传递的窗口。 在我们的例子中,我们传递的是对话框句柄。 上面未显示的是对话框中的 WM_COMMAND 处理程序,它通过执行导航来响应 IDC_NEXTPAGE 和 IDC_PREVPAGE。

与上次一样,如果你认为此消息循环可能拥有无模式对话框,则必须进行过滤,以免误选其他人的快捷键。

至此,关于对话框管理器相关的所有文章已经全部写完了,希望能给你一些启迪。

总结
前面路远且长,加油吧,少年。

最后
Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一,里面有很多关于Windows的小知识,对于广大Windows平台开发者来说,确实十分有帮助。
本文来自:《The dialog manager, part 9: Custom accelerators in dialog boxes》

最近我写了个东西
正如你们所知道的,拓扑梅尔智慧办公平台(Topomel Box)是一款绿色软件,主要面向经常使用电脑的朋友。它提供了各种提升办公效率的小功能,同时操作上尽可能地简单方便。
我想:你值得拥有。

标签:

评论已关闭。