精易论坛

标题: 编辑框按Alt键win键“鼠标右键按键”后,编辑框重新获取焦点 [打印本页]

作者: hktkzyz    时间: 2015-8-14 16:25
标题: 编辑框按Alt键win键“鼠标右键按键”后,编辑框重新获取焦点
标题可能说的不太清楚,我再详细说一下:
键盘上有几个特别的键,如Alt键、win徽标键、鼠标右键快捷键(空格右边第三个)。当按这些按键的时候,编辑框会处于未激活的状态。
如:按alt键,本来编辑框内闪烁的光标会“静止、定住”。(这个已经解决:方法:如果真 (键代码 = 18);返回 (假)。)
按win键,不用说了,开始菜单会弹出。
按“鼠标右键快捷键”,会弹出鼠标右键那个菜单。
在以上三种情况下,再次点击窗口,编辑框内光标会恢复闪烁(输入状态)。

希望达到的效果:
1、按这些键,光标重新恢复到输入状态。
2、不用键盘钩子。不是屏蔽按键,而是在实现这些按键的功能后,重新激活编辑框输入状态。
3、不用模拟鼠标点击窗口,这个,,,,太逊了。

已经做过的尝试:
1、setwindowspro,不管用,这个貌似这是使窗体前置,而实际上窗体本身就是前置的。
2、SetForegroundWindow,也不行,这个貌似和第一个差不多功能。
3、sendmessage(句柄,1,0,0),还是不行,第二个参数0、1、2、7都试了,不行。

求指教。

作者: 汉族    时间: 2015-8-14 17:04
这叫做  获取聚点()   
作者: 343824498    时间: 2015-8-14 17:29
这个最好办,选择窗口 失去焦点事件()
下面加上,
窗口.获取焦点()
编辑框1.获取焦点()
作者: hktkzyz    时间: 2015-8-15 08:13
两位大哥,我都试了4个api了,我会没试过获取焦点吗?麻烦大家亲自试一下,也没几句代码。谢谢大家了。
现在发现有4个按键,F10和Alt都可以用按下按键的返回假来解决(激活菜单)。
但是win左右徽标和鼠标右键快捷键就没那么容易了。(用鼠标右键按下事件返回假,只能解决用鼠标右键按,不弹出右键菜单,用键盘的鼠标右键快捷键依然会弹出右键菜单)




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4