为什么文本框控件无法输入(Windows API编程)

WindwosAPI编程,用如下方法创建一个文本框控件,如果控件在程序的主窗口下一切正常,如果控件在子窗口中,则鼠标点不上去,无法使用,这是为什么?要怎么解决?Creat... Windwos API编程,用如下方法创建一个文本框控件,如果控件在程序的主窗口下一切正常,如果控件在子窗口中,则鼠标点不上去,无法使用,这是为什么?要怎么解决?
CreateWindowEx(0, //创建窗口
"EDIT", //文本框
"用户列表", //标题
WS_CHILD| //子窗口
WS_BORDER| //窗口具有单边框
WS_VISIBLE, //初始状态可见
50,50, //文本框显示位置
90,30, //长度和高度
hwnd, //父窗口句柄
(HMENU)(2001), //文本框ID
HIns_UE, //与文本框相关的实例句柄
NULL); //附加属性
终于找到原因了,自己补充一下,以方便后来者。经过我的反复试验,假如程序主窗口为A,下面有子窗口B,B里面有文本框若干。那么如果子窗口B同时用了WS_CHILD(子窗口)和WS_BORDER(具有单边框)这两个风格,那么B下面的文本框键盘鼠标都无法选中,即使你在程序中用函数强制指定其中一个文本框获得焦点,那也只有那个文本框可以用,无法通过鼠标和键盘切换到其他文本框上。这应该算是Windows API的一个小BUG。解决的唯一办法就是把B窗口中的WS_CHILD(子窗口)和WS_BORDER(具有单边框)两个属性根据情况去掉一个。
展开
 我来答
阳光小子183
2017-06-29 · TA获得超过602个赞
知道答主
回答量:128
采纳率:80%
帮助的人:37.7万
展开全部
如果把WS_BORDER去掉,还是不行,但如果把WS_CHILD去掉,那么就会变成新建一个窗口了……
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式