小技法:防止对话框中的编辑框内容自动被选中
作者:BlogUpdater |
时间:2020-07-20 |
浏览:1553 |
评论已关闭 条评论
在默认情况下,当用户在对话框界面按下Tab按键将输入焦点切换到一个编辑框时,编辑框中的文本内容会被自动选中。
为什么会有这样的行为呢?
因为当焦点切换到编辑框时,编辑框窗口会收到WM_GETDLGCODE消息,如果我们在处理这个消息时候,将DLGC_HASSETSEL这个标志去掉,则可以阻止这个默认行为。
那么,如何去掉这个标志呢?如下图所示:
在上面的代码中,我们在WM_GTTDLGCODE消息处理函数中移除了DLGC_HASSETSEL这一标志。
下图是我们的对话框窗口过程:
当我们在收到对话框的WM_INITDIALOG消息时,我们将自定义的子类化窗口过程设置到了窗口上。
下面是我们的程序入口点。
总结
从上面的代码来看,实现我们标题所说的功能其实并不复杂。但是我想这个相对完整的例子代码,也许可能对某些人有点帮助。
另外,通过这个例子,我们也可以看到如何使用SetWindowSubclass这个API函数。
如需转载,请注明来自:拓扑梅尔智慧办公平台 | TopomelBox 官方站点
相关推荐
- 外壳对象拖放第二部分:支持移动操作
- Posted on 01月14日
- 试试看:将你的C++/CLI项目迁移至.NET Core平台
- Posted on 03月31日
- 说说Shell动画控件的限制
- Posted on 05月14日
- 浅谈 CS_OWNDC 标志位的作用
- Posted on 08月16日
评论已关闭。