对话框管理器第八章:对话框中的自定义导航

对话框管理器第八章:对话框中的自定义导航

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

有一些对话框会包含一些自定义按键导航,例如,属性表控件(Property Sheet),你可以通过按下 CTRL + TAB 或者 CTRL + SHIFT + TAB 来切换不同的属性页面。如果要实现这样的功能,仅仅靠IsDialogMessage是不够的,你需要自己写点代码才行。

我们先看看之前我们的对话框消息循环的代码实现:

为了添加自定义导航,我们可以在IsDialogMessage调用之前,添加下面蓝色的部分。

代码解析
当收到一条消息时,在分发此消息,甚至在IsDialogMessage之前,我们先检查它是否为 CTRL + TAB 按键,如果是的话,我们将它看做是一个导航快捷键。

请注意,如果希望将这段代码用在非模态对话框上,则你需要注意一个细节,因为我们不希望占用无模式对话框中现有的按键导航。请看下面修改之后的代码:

在后面的文章中,我们将会使用另外一种方法实现相同的功能,敬请期待。

总结
大部分人,都是使用鼠标完成大部分日常任务。
按键键导航这个功能,很少有用户会使用。但是,作为一个完美主义者,这个功能我一定会在TopomelBox中慢慢给加上。可以不用,但不能没有。
鼠标操作平易近人,但是操作效率上来说,还是没有快捷键那样快速高效暴力直接。比如,你经常会使用到的 CTRL + C 和 CTRL + V 这两项技法。
正所谓:天下武功,唯快不破。

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

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

评论已关闭。