对话框管理器第九章:对话框中的自定义快捷键
与上篇文章类似,你还可以将自定义快捷键添加到对话框中。 (从某种意义上说,快捷键是自定义导航的一种,因为你可以将导航键实现为快捷键。)
那么,让我们使用快捷键来进行导航,而不是手动选择按键。 我们的快捷键表可能如下所示:

在上面的代码里,你可以看到,我对表格的逗号放置方法。 我喜欢将逗号放在字段的远端,而不是将其与列中的最后一个单词混为一谈。 这样做会使剪切/粘贴变得容易得多,因为你可以剪切一列并将其粘贴到其他地方,而无需处理后面的逗号。
假设你已将此快捷键表加载到变量“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)是一款绿色软件,主要面向经常使用电脑的朋友。它提供了各种提升办公效率的小功能,同时操作上尽可能地简单方便。
我想:你值得拥有。

- 下一篇: 使用数学的力量来简化多级比较
- 上一篇: 使用VSBT构建C和C++开源项目
相关推荐
- 第 210 期:Windows 11 将新增 Windows AI 实验室功能
- Posted on 09月19日
- Visual Studio 功能增强:CMake 目标视图
- Posted on 09月23日
- 第 701 期:微软承认 Teams 用户界面太拥挤并表示将修复此问题
- Posted on 05月23日
- 向API添加标志位并不具备扩展性
- Posted on 07月23日



评论已关闭。