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

与上篇文章类似 , 你还可以将自定义快捷键添加到对话框中 。 (从某种意义上说 , 快捷键是自定义导航的一种 , 因为你可以将导航键实现为快捷键 。 )
那么 , 让我们使用快捷键来进行导航 , 而不是手动选择按键 。 我们的快捷键表可能如下所示:
对话框管理器第九章:对话框中的自定义快捷键
文章图片
在上面的代码里 , 你可以看到 , 我对表格的逗号放置方法 。 我喜欢将逗号放在字段的远端 , 而不是将其与列中的最后一个单词混为一谈 。 这样做会使剪切/粘贴变得容易得多 , 因为你可以剪切一列并将其粘贴到其他地方 , 而无需处理后面的逗号 。
假设你已将此快捷键表加载到变量“hacc”中 , 现在 , 你可以在自定义对话框循环中使用该表了:
对话框管理器第九章:对话框中的自定义快捷键
文章图片
TranslateAccelerator函数检查消息是否与快捷键表中的任何条目匹配 。 如果是这样 , 则它将WM_COMMAND消息发布到作为其第一个参数传递的窗口 。 在我们的例子中 , 我们传递的是对话框句柄 。 上面未显示的是对话框中的WM_COMMAND处理程序 , 它通过执行导航来响应IDC_NEXTPAGE和IDC_PREVPAGE 。
与上次一样 , 如果你认为此消息循环可能拥有无模式对话框 , 则必须进行过滤 , 以免误选其他人的快捷键 。
对话框管理器第九章:对话框中的自定义快捷键
文章图片
至此 , 关于对话框管理器相关的所有文章已经全部写完了 , 希望能给你一些启迪 。
总结
前面路远且长 , 加油吧 , 少年 。
最后
RaymondChen的《TheOldNewThing》是我非常喜欢的博客之一 , 里面有很多关于Windows的小知识 , 对于广大Windows平台开发者来说 , 确实十分有帮助 。
本文来自:《Thedialogmanager,part9:Customacceleratorsindialogboxes》
对话框管理器第九章:对话框中的自定义快捷键
文章图片
返回搜狐 , 查看更多
对话框管理器第九章:对话框中的自定义快捷键】责任编辑: