周 周峰 Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-29 #1 如何在程序中作一软键盘(象中文输入法中弹出的键盘一样),可 在任意的窗口中输入字符。 注:此键盘程序在程序中调用一次后,可在系统中新弹出的任意窗 口中输入字符。
Y youtoo Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-29 #2 在软键盘form中定义一个指示目标form的变量,每次调用该软键盘时对这个变量赋值,应该可以吧. 至于这个软键盘的实现,可以用多个button实现,这就不用多说了吧
老 老屯 Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-29 #3 应该作一个Hook劫持到所有Focus的Edit类的窗口,然后直接根据你的软键盘接受到的输入发送键盘消息
李 李崇文 Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-29 #4 要做软键盘,须注意: 1:必须保证你的软键盘不能夺走输入窗口的焦点; 2:获得输入窗口的Handle,向它发键盘消息; 解决方法: 1:当你每一次单击自己的软键盘时(即夺走输入窗口的焦点) 你必须把焦点还给先前的输入窗口,你可以拦截WM_ACTIVATE 消息实现。 2:发送键盘消息可以用keybd_event()实现模拟按键,但中文 就比较麻烦,不过也能实现。
要做软键盘,须注意: 1:必须保证你的软键盘不能夺走输入窗口的焦点; 2:获得输入窗口的Handle,向它发键盘消息; 解决方法: 1:当你每一次单击自己的软键盘时(即夺走输入窗口的焦点) 你必须把焦点还给先前的输入窗口,你可以拦截WM_ACTIVATE 消息实现。 2:发送键盘消息可以用keybd_event()实现模拟按键,但中文 就比较麻烦,不过也能实现。