如何通过设备键盘在 Windows 移动设备中键入多语言字符
How to Type Multilingual Characters in Windows Mobile Device by Device Keypad
我有一个windows Mobile 6.5 操作系统的智能设备,我想用.Net CF 3.5 和C# 语言为这个设备编写一个应用程序。这个设备的键盘是这样的图片:
如上图所示,文本和数字位于同一个键上。例如 2 有“ABC”,如果我们想写任何以“A”开头的东西,我们需要输入一次键 2。如果我们想键入“B”,请按两次键 2,三次以键入“C”。
Q1。我不能用这个键盘输入英文字母,我只能输入数字。我想在文本框中输入英文字母(以及波斯字母)。我可以通过 keybd_event()
这是一个 extern
函数来完成这项工作吗?
Q2。我有 3 种输入字符的方法,同时必须启用其中一种方法:
- 输入数字
- 输入英文字母(有些字符如 . , ? / )
- 键入波斯语字母(带有一些字符,例如 . , ? / )
其他人在三种方法之间如何切换
Q3。如何根据描述的3种输入法中的一种,通过适当的字符show键盘? (一次是英语,一次是波斯语,一次是数字)
此致
如果只在一个应用程序(Compact Framework)内需要特殊的键解释,那么可能使用SDF(SmartDeviceFramework)是明智的。请参阅 http://www.hjgode.de/wp/2012/09/20/windows-mobile-cf-how-to-catch-f1-and-f2-in-weh/
上的 KeyTest3AKsdf
在消息处理程序中,您需要管理键盘平面(数字、英文字母、波斯字母)和可能的按键超时,以便能够决定是否在一段时间内多次按下某个键(以产生这些 ABC 可选输出)。
定义一个键或组合来在平面之间切换。
观察传入的消息并决定要做什么。您可以更改消息的副本,post 将其添加到消息队列并 return true 让 windows 系统知道您处理了该消息。
您可以使用 keybd_event 作为 winuser.h 和 winuserm.h 中定义的简单键。但是对于扩展字符,这会变得复杂(找到正确的值序列)。对于扩展符号和字母,我会使用 PostMessage 和 WM_CHAR。
此外,您可能需要安装带有波斯字形的 trueype 字体。默认的英文 OS 固件通常只支持 unicode 字形的一个子集。另见 http://www.hjgode.de/wp/2011/04/06/mobile-development-a-simple-unicode-character-map/
我有一个windows Mobile 6.5 操作系统的智能设备,我想用.Net CF 3.5 和C# 语言为这个设备编写一个应用程序。这个设备的键盘是这样的图片:
如上图所示,文本和数字位于同一个键上。例如 2 有“ABC”,如果我们想写任何以“A”开头的东西,我们需要输入一次键 2。如果我们想键入“B”,请按两次键 2,三次以键入“C”。
Q1。我不能用这个键盘输入英文字母,我只能输入数字。我想在文本框中输入英文字母(以及波斯字母)。我可以通过 keybd_event()
这是一个 extern
函数来完成这项工作吗?
Q2。我有 3 种输入字符的方法,同时必须启用其中一种方法:
- 输入数字
- 输入英文字母(有些字符如 . , ? / )
- 键入波斯语字母(带有一些字符,例如 . , ? / )
其他人在三种方法之间如何切换
Q3。如何根据描述的3种输入法中的一种,通过适当的字符show键盘? (一次是英语,一次是波斯语,一次是数字)
此致
如果只在一个应用程序(Compact Framework)内需要特殊的键解释,那么可能使用SDF(SmartDeviceFramework)是明智的。请参阅 http://www.hjgode.de/wp/2012/09/20/windows-mobile-cf-how-to-catch-f1-and-f2-in-weh/
上的 KeyTest3AKsdf在消息处理程序中,您需要管理键盘平面(数字、英文字母、波斯字母)和可能的按键超时,以便能够决定是否在一段时间内多次按下某个键(以产生这些 ABC 可选输出)。
定义一个键或组合来在平面之间切换。
观察传入的消息并决定要做什么。您可以更改消息的副本,post 将其添加到消息队列并 return true 让 windows 系统知道您处理了该消息。
您可以使用 keybd_event 作为 winuser.h 和 winuserm.h 中定义的简单键。但是对于扩展字符,这会变得复杂(找到正确的值序列)。对于扩展符号和字母,我会使用 PostMessage 和 WM_CHAR。
此外,您可能需要安装带有波斯字形的 trueype 字体。默认的英文 OS 固件通常只支持 unicode 字形的一个子集。另见 http://www.hjgode.de/wp/2011/04/06/mobile-development-a-simple-unicode-character-map/