宁波 龙,您好! SIM_Hardkey.exe这个示例,我不知道你看懂了上一封邮件中我的说明没有。 他是通过点击在模拟器窗口内的按钮来实现模拟一个按键的产生,点击模拟器上的那个BUTTON(这是一个WINDOWS的按钮控件),从而调用设定的回调函数,这个回调函数中如果产生UCGUI的按钮消息,那么点击模拟器上的BUTTON按钮而达到了产生UCGUI按键的效果。。。。 1。关于你说的,我以前早就见过有朋友要做这样的软键盘,说要用键盘的按钮来控制,不知道是不是你,其实非常简单,只是你把一些问题搞复杂了。 2。关于电脑键盘如何与模拟器里的软键盘进行通信, 我想你是没有了解模拟器的原理,我写的模拟器就是在WIN上面用一个窗口显示出UCGUI的LCD显示面面,并且将PC上的MOUSE消息以及按键消息都接收并转换成UCGUI上的MOUSE消息及按键消息,所以你按PC上的键盘,就会产生消息传到UCGUI内部。 3。关于你控制你自己的软键盘的焦点,你仅仅只须要知道每个键的上下左右分别是什么键,然后将这个键值对应的按钮BUTTON设置为当前按键,寻找每一个键的上下左右键完全是你自己的软键盘布局的问题,你如何布局的,就如何设置每个键的上下左右邻居,当用户按下键盘上的上下左右时,焦点如何切换完全由你自己控制。 ======== 2006-05-10 09:52:33 您在来信中写道: ======== 我做了一个以模拟器背景为父窗口的软键盘。 现在要做通过电脑键盘的“上下左右”和“ENTER”“ESC或者退格键”键来控制软键盘。 比方说:我做了一个4*4的软键盘,首先初始状态使一个键SETFOUC,设为当前聚焦键。然后通过电脑键盘的“上下左右”选择当前聚焦键的周围四个键。当敲“上”后,又设置这个键为SETFOUC,依次类推,当我需要选择他时,我敲“ENTER”键,即为输出一个字符。 我的疑惑有这几点: 1、我这个思路对不对,可不可以这样来达到控制的目的? 2、电脑键盘怎么和模拟器里的软键盘进行通信、交流? 3、UCGUI,我是参考这两个stample程序写的 SIM_Hardkey.exe WIDGET_Edit.exe 抢注雅虎免费邮箱-3.5G容量,20M附件! = = = = = = = = = = = = = = = = = = = = = = 致 礼! ucgui ucgui@xxxxxxx 2006-05-10