关于WM_GETDLGCODE的一些小技巧
作者:BlogUpdater |
时间:2020-08-07 |
浏览:1391 |
评论已关闭 条评论
关于WM_GETDLCODE这个消息
WM_GETDLCODE这个消息可以用来控制对话框管理器的行为。在之前的一篇文章中,我们讲述了如何通过DLGC_HASSETSEL这个标志来控制编辑框的自动选择行为。
本来我还想讲一讲其他的一些标志,但是我发现在[知识库83302]中已经讲述的比较全面了,所以我就不打算再来长篇大论一番,而只是把我认为重要的点稍微提一下。
坐好了吗?
在众多标志位中,DLGC_WANTMESSAGE是最有用的一个。它可以用来控制对话框管理器,实现禁止对话框管理器对指定消息的处理。
举个例子,当输入焦点在某个特殊的控件上时,你不希望用户按下ESC按键退出对话框,而是希望由控件本身来处理,则可以处理WM_GETDLGCODE这个消息并检查它的LPARAM参数,如果发现用户按下的是ESC按键,则可以返回DLGC_WANTMESSAGE,这样这个消息就不会被对话框管理器进行默认的处理。
另外的几个标志诸如DLGC_WANTCHARS, DLGC_WANTTAB和DLGC_WANTARROWS,也是类似的用法,它们主要为了方便地检查某一类消息。
总结
在准备修改窗口默认行为之前,我们应该先考虑是否真的有必要这样做。
因为如果消息处理逻辑一旦处理不当,就会使你的程序表现得难以使用,或者不符合用户的操作预期,因为用户已经习惯了其他程序的统一行为。
如需转载,请注明来自:Topomel Box
相关推荐
- 官宣:Visual Studio中预处理器的变革
- Posted on 03月29日
- 修复其他程序中的安全漏洞
- Posted on 10月26日
- 小技巧:一种简单的判断文件权限的方法
- Posted on 03月29日
- 实战经验:CRichEditCtrl插入图片(不止是位图)
- Posted on 04月21日
评论已关闭。