博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
选中内容_小技法:防止对话框中的编辑框内容自动被选中
阅读量:4579 次
发布时间:2019-06-08

本文共 409 字,大约阅读时间需要 1 分钟。

在默认情况下,当用户在对话框界面按下Tab按键将输入焦点切换到一个编辑框时,编辑框中的文本内容会被自动选中。为什么会有这样的行为呢?因为当焦点切换到编辑框时,编辑框窗口会收到WM_GETDLGCODE消息,如果我们在处理这个消息时候,将DLGC_HASSETSEL这个标志去掉,则可以阻止这个默认行为。

那么,如何去掉这个标志呢?如下图所示:

d739a2b9a6c3c6047b5c02fd8dc32131.png

在上面的代码中,我们在WM_GTTDLGCODE消息处理函数中移除了DLGC_HASSETSEL这一标志。

下图是我们的对话框窗口过程:

d03c9fdc712ab9d192a43ec107bd6344.png

当我们在收到对话框的WM_INITDIALOG消息时,我们将自定义的子类化窗口过程设置到了窗口上。

下面是我们的程序入口点。

4504bf3304b8d01df2ce58667ce72ba0.png

总结

从上面的代码来看,实现我们标题所说的功能其实并不复杂。但是我想这个相对完整的例子代码,也许可能对某些人有点帮助。另外,通过这个例子,我们也可以看到如何使用SetWindowSubclass这个API函数。

b413b1efac0cd18fca7b6ad8f56ca142.png

转载地址:http://wlqms.baihongyu.com/

你可能感兴趣的文章
JS实现——贪吃蛇
查看>>
推荐10款免费的在线UI测试工具
查看>>
解构控制反转(IoC)和依赖注入(DI)
查看>>
燕十八redis 微博地址
查看>>
(转载)深入理解java的接口和抽象类
查看>>
关注的前沿动态
查看>>
一段测试DiskIO的代码
查看>>
第二阶段冲刺2
查看>>
进度条
查看>>
HTML5<canvas>标签:简单介绍(0)
查看>>
面向对象的特征有哪些方面?
查看>>
三月十一号
查看>>
关于java类加载器的一些概念
查看>>
JNI.ZC_文件(.so/.h)位置
查看>>
JAVA基础——数据流
查看>>
线性代数之——克拉默法则、逆矩阵和体积
查看>>
OpenCV_累加一个三通道矩阵中的所有元素
查看>>
20162308 2016-2017-2 《程序设计与数据结构》第1周学习总结
查看>>
hdu 6057 Kanade's convolution(子集卷积)
查看>>
01-复杂度2 Maximum Subsequence Sum
查看>>