TianYa 发表于 2023-6-26 22:53:23

wtl库组件键盘焦点的问题


请问,我先拖了一个复选框,然后又放了个编辑框,当窗口启动,或者是获取焦点的时候,键盘焦点就会停留在编辑框,正常不是应该按照顺序停留在复选框吗,复选框应该才是键盘第一个焦点啊,请问这个是什么情况呢?
还有一个问题就是无论是wtl,还是mfc库,每当键盘焦点从窗口离开,在回来窗口的时候,键盘的焦点就会强制性的停留在程序认为的首个组件的焦点上,就比如我说的这个问题,第一个放的是复选框,第二个是编辑框,假设把键盘焦点放在复选框上,在让键盘焦点从窗口离开,在进入窗口,键盘焦点就会停留在编辑框,请问这个又是什么情况呢,感谢。



创世魂 发表于 2023-6-27 00:12:18

应该是编辑框具有输入属性导致的吧。。因为系统设定认为焦点就是用来输入的,所以会选择编辑框。

TianYa 发表于 2023-6-27 00:24:23

创世魂 发表于 2023-6-27 00:12
应该是编辑框具有输入属性导致的吧。。因为系统设定认为焦点就是用来输入的,所以会选择编辑框。 ...

那这个有什么好的方法吗?我刚才还发现了一个问题,单选框也无法用tab键获取焦点,必须鼠标点一下,用tab才能访问到焦点

TianYa 发表于 2023-6-27 00:34:03

现在暂时用的解决方案就是在窗口创建完毕之后获取下首个组件的焦点,然后就是另外一个键盘焦点离开窗口,在回到窗口焦点后,编辑框会获取焦点的问题,也只能用同样的方法解决了。
我还是感觉易语言的那种就挺好的,比如有五个组件,当前焦点停留在第三个,键盘焦点离开窗口以后,也就是窗口取消激活的时候吧,然后在把焦点切回来的时候,键盘焦点仍然在第三个,这样的挺好的,按照火山现在这样的设计,那如果界面有个十几个二十个焦点的话,对于用鼠标的用户来说,到是无所谓,但是用键盘移动焦点的用户就不是太有好了,但凡键盘焦点离开了窗口以后,在回来,那无论你在哪里,都要从头开始
页: [1]
查看完整版本: wtl库组件键盘焦点的问题