本文共 409 字,大约阅读时间需要 1 分钟。
在默认情况下,当用户在对话框界面按下Tab按键将输入焦点切换到一个编辑框时,编辑框中的文本内容会被自动选中。为什么会有这样的行为呢?因为当焦点切换到编辑框时,编辑框窗口会收到WM_GETDLGCODE消息,如果我们在处理这个消息时候,将DLGC_HASSETSEL这个标志去掉,则可以阻止这个默认行为。
那么,如何去掉这个标志呢?如下图所示:
在上面的代码中,我们在WM_GTTDLGCODE消息处理函数中移除了DLGC_HASSETSEL这一标志。
下图是我们的对话框窗口过程:
当我们在收到对话框的WM_INITDIALOG消息时,我们将自定义的子类化窗口过程设置到了窗口上。
下面是我们的程序入口点。
从上面的代码来看,实现我们标题所说的功能其实并不复杂。但是我想这个相对完整的例子代码,也许可能对某些人有点帮助。另外,通过这个例子,我们也可以看到如何使用SetWindowSubclass这个API函数。
转载地址:http://wlqms.baihongyu.com/