您的位置:程序门 -> .net技术 -> vb.net



问一个键盘的模拟问题,如何做一个画面键盘来代替微软的软键盘,有点难度呀!!!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


问一个键盘的模拟问题,如何做一个画面键盘来代替微软的软键盘,有点难度呀!!!
发表于:2007-04-05 15:00:12 楼主
各位好,我现在想用自己的画面来实现一个键盘功能.就是当用手点触摸屏幕画面中的a按钮时候(a按钮是我自己画的一个按钮),能够象点微软的软件盘上的按键 "a "一样的功能.这样就可以完全代替微软的软件盘了.
请问该怎么调用api,或者如何实现呢?
如果有在wince环境下的实现方法更好.
发表于:2007-04-05 17:11:091楼 得分:0
俺认为:
这个,触摸屏本身有驱动的吧,应该跟鼠标是一样用的。我做过触摸屏的,但是我忘了

手摸就相当于鼠标点

方法1   :图形按钮问题,画一张大图,包括所有按钮的图,所有按钮的区域都保存起来
然后在图中的鼠标down或up的事件里   捕获鼠标的位置,去查保存的按钮区域,查到就实现该按钮的功能。

方法2:form里放你的大图,按钮全截成小图,放个picturebox在form上,picturebox调小图,边设为0,当然必须对准大图的位置。事件就是picturebox的鼠标down或者什么的事件
好像也有imagebutton可以实现吧,不太记得了,你去试试   对了,imagebutton的好处是按下去的时候可以变化为向下的图(要不要自己做,我也不记得了)

方法1比较麻烦,要写比较多的代码,不建议用。


发表于:2007-04-05 17:34:422楼 得分:0
我在vb里面做了一个,也是给触摸屏用的,我是在需要输入的地方就调用我的“键盘”form,这个窗体上面就是一些字母的按钮,在每个按钮的单击事件里面将此按钮代表的按键值sendkey,并将焦点设置到刚刚调用的地方,使用这种方式,当输入英文的时候没有问题,但是输入中文的时候就有了问题,因为每次按键的时候焦点都转移了,但是汉字还没有输入完成,后来我发现使用紫光拼音却可以,但是前提是,必须在调用“键盘”之前就的把紫光调用出来。
发表于:2007-04-05 17:56:423楼 得分:0
你在调用“键盘”之前     sendkeys(   ctrl+space   )或者你给紫光定义的其它组合键,先把紫光调出来不就ok了
发表于:2007-04-06 10:18:584楼 得分:0
谢谢各位的指点,我试了一下,发现用picturebox或者用panel的mousedown事件,可以实现光标不跳开从而可以连续输入.
欢迎大家继续来讨论,集思广益呀.
路过的也请帮忙顶下...
发表于:2007-04-06 16:58:285楼 得分:0
帮你顶下
发表于:2007-04-07 11:06:226楼 得分:0
再頂+++
发表于:2007-04-07 22:59:527楼 得分:0
学习!
发表于:2007-04-08 01:08:468楼 得分:0
哈哈,好,帮忙顶一下!
发表于:2007-04-09 09:07:199楼 得分:0
我使用panel控件发现一个问题,就是panel不能输入文本,只能在panel内再嵌套一个label来显示文本内容.这样又有一个问题出来,就是label不能获得mousedown事件,只能是把panel做得比label大一些,但是敏感度却大打折扣了.
谢谢各位支持,欢迎继续给出自己的见解.
发表于:2007-04-09 09:10:3210楼 得分:0
sendkeys
发表于:2007-04-11 17:25:1311楼 得分:0
来晚了...
都差不多...
发表于:2007-05-17 10:20:2712楼 得分:0
如果我使用api函数打开微软的软键盘,该怎样就直接切换到想要的那种输入法的状态呢?
因为一般软键盘被打开的时候,默认的是英文输入状态,所以我想是否可以通过 "keybd_event "这样的api函数,向系统发送一些按钮组合,来实现直接打开想要的那种输入法的.
有经验的请来指教一下吧.
发表于:2007-06-11 23:17:3013楼 得分:0
http://www.mumayi.com/downinfo/1334.html

推荐 <思特软键盘三套件   >
下载地址:http://www.whbestsoft.com/download/file/kb.rar
--------------------------------------------------------------------------------
 
思特软键盘三套件1.0(ocx、dll、exe方式)  
======================  
=思特软键盘ocx控件1.0=  
======================  
      本控件可以使用在各种语言平台下,方便快捷,拖上去即可使用,使之成为程序的一部分,也可使用在网页中,成为一个漂亮的软键盘输入,可广泛应用于触摸屏软件等特定条件下的软件。  
web中设置的属性  
==============================  
isctrlspace:是否使用模拟的开关输入法方式  
showmoveimage:是否显示移动键盘图片  
selectimebutton:是否显示选择输入法按钮  
opentimebutton:是否显示打开输入法按钮  
closeimebutton:是否显示关闭输入法按钮  
showimetext:是否显示输入法信息  
regname:注册姓名  
regcode:注册码  
showreginfo:是否显示注册信息  
imetimeinteval:显示输入法信息的刷新时间  
一般windows程序中设置的属性  
==============================  
jyb_isctrlspace:是否使用模拟的开关输入法方式  
jyb_showmoveimage:是否显示移动键盘图片  
jyb_selectimebutton:是否显示选择输入法按钮  
jyb_opentimebutton:是否显示打开输入法按钮  
jyb_closeimebutton:是否显示关闭输入法按钮  
jyb_showimetext:是否显示输入法信息  
jyb_regname:注册姓名  
jyb_regcode:注册码  
jyb_showreginfo:是否显示注册信息  
jyb_imetimeinteval:显示输入法信息的刷新时间  
======================  
=思特软键盘dll1.0         =  
======================  
在程序中通过dll调用即可出现键盘,使之在本程序中可以调用键盘程序进行输入内容  
    显示软键盘:   jyb_kbshow(canclose:integer)  
    关闭软键盘:   jyb_kbclose  
    注册软件盘:   jyb_kbreg(name,code:pchar)  
    定位键盘位置:jyb_kbsetpos(fs,left,top:integer)    
          fs=0自定义   1..9分别为左上、左中、左右、中左...下右  
======================  
=思特软键盘1.0               =  
======================  
直接执行即可使用:  
jybkb.exe后可加参数,来初始化软键盘位置  
      jybkb.exe   0     left   top     //自定义  
      jybkb.exe   1             //左上角  
      jybkb.exe   2             //左中  
      ............  
      jybkb.exe   9             //右下角    


快速检索

最新资讯
热门点击