如何制作一个像WINDOWS输入法一样的软键盘,可以用鼠标代替键盘的使用

解决方案 »

  1.   

    这不难吧,点击的时候出个新窗体,在新窗体上放一些bottom(要好看自己做图),然后对应一个bottom的关系就行了吧。。
      

  2.   

    生成和键盘按键一样多的button或者image,总之支持onclick事件的,然后当点击按钮时,发送消息。。关于模拟键盘要使用的函数之类,详述如下:下面以Delphi为例来介绍一下如何实现这两个功能。模拟键盘我们用Keybd_event这个api函数,模拟鼠标按键用mouse_event函数。大家不用担心,在delphi里调用api函数是很方便的事。     先介绍一下Keybd_event函数。Keybd_event能触发一个按键事件,也就是说回产生一个WM_KEYDOWN或WM_KEYUP消息。当然也可以用产生这两个消息来模拟按键,但是没有直接用这个函数方便。Keybd_event共有四个参数,第一个为按键的虚拟键值,如回车键为vk_return, tab键为vk_tab。第二个参数为扫描码,一般不用设置,用0代替就行。第三个参数为选项标志,如果为keydown则置0即可,如果为keyup则设成“KEYEVENTF_KEYUP”,第四个参数一般也是置0即可。用如下代码即可实现模拟按下i键,其中的$49表示i键的虚拟键值: 
    keybd_event($49,0,0,0); 
    keybd_event($49,0,KEYEVENTF_KEYUP,0); ...   
    也可以直接发送消息,wm_keydown
    PostMessage(Memo1.Handle,WM_KEYDOWN,49,0)
      

  3.   

    多谢各位,这样做的法每个按键都要切割一个image,请问能否用代码直接调出输入法中的软键盘,而不用去画键盘和写click事件
      

  4.   

    输入法中的软键盘只有输入法才可以调用的。
    前几天才为触摸屏系统写了个软键盘,就几个Bottom,也要不到多少时间!每个Bottom的Click事件都指向一个过程,代码也不多最多也就一百行而已。