ws01103815 发表于 2009-6-12 10:21

wince下自制软键盘,单击软键盘窗体原窗体怎样才能不失去焦点?

如题,想做到如wince自带软键盘的效果,单击软键盘时不要让原有的焦点窗体失去焦点,这样用keyevent就能将相应的字符发到焦点所在控件上,网上有人说需要将软键盘窗体设置为Disable,但没讲如何在disable后,能获得鼠标的单击事件?请高人指点!!

colin_cx 发表于 2009-6-12 10:25

好像是软键盘窗体要设置一个属性,这样就可以不让原窗体失去焦点的

qqmhappy 发表于 2009-6-12 10:47

引用 1 楼 91program 的回复:
好像是软键盘窗体要设置一个属性,这样就可以不让原窗体失去焦点的


是需要设置WS_DISABLED的属性

具体的,我也没看,LZ可以下载自由拼音的源代码来研究研究

bingshan1129 发表于 2009-6-12 11:36

NOACTIVATE

beishui 发表于 2009-6-12 16:34

To: Rockursoul
用noactivate不行,点击窗体后原窗体的焦点还是会失去

我查资料许多人介绍说要用鼠标钩子,把窗体设为disable然后用鼠标钩子去钩点击事件,来判断点击位置并执行相应的代码
,有人用过吗?

wowhoo 发表于 2009-6-15 15:51

用函数SipShowIM(SIPF_ON)唤起软键盘
通过SetFocus(),设置原来的控件为当前焦点

kevin77065638 发表于 2009-6-19 13:42

mark

young_Zyj 发表于 2009-6-19 17:15

楼主可以参考下面的API说明:
SHHandleWMActivate
SHHandleWMSettingChange
SHSipPreference

winnie_nie 发表于 2009-6-25 17:59

我也需要实现一个这样的窗口,楼主实现了吗?
wince好象并不支持鼠标钩子啊,这个方法可能不行吧!
还有就是在win xp中的disabled窗口中能接收到wm-setcursor消息,但在wince中却收不到这个消息!

zlp520 发表于 2009-6-26 18:09

引用 8 楼 helanhe21 的回复:
我也需要实现一个这样的窗口,楼主实现了吗?
wince好象并不支持鼠标钩子啊,这个方法可能不行吧!
还有就是在win xp中的disabled窗口中能接收到wm-setcursor消息,但在wince中却收不到这个消息!

还没实现,找不到好方法啊。

hyw123456 发表于 2009-6-29 15:48

引用 8 楼 helanhe21 的回复:
我也需要实现一个这样的窗口,楼主实现了吗?
wince好象并不支持鼠标钩子啊,这个方法可能不行吧!
还有就是在win xp中的disabled窗口中能接收到wm-setcursor消息,但在wince中却收不到这个消息!


加个塞~
我也要实现这个 不过是要在win xp中实现请问你有什么办法吗?wm-setcursor这个消息有什么用啊?
谢谢~!!

gjchao 发表于 2009-7-1 17:28

因为将软键盘窗口设为disabled以后,窗口就接受不到鼠标消息, 但是可以接受到wm_setcursor消息, 通过这个消息来响应按键,发送vk消息!

nemon 发表于 2024-3-2 15:22

<p>挂钩子行吗?</p><br/>
页: [1]
查看完整版本: wince下自制软键盘,单击软键盘窗体原窗体怎样才能不失去焦点?