首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过设备键盘在Windows移动设备中键入多语种字符

如何通过设备键盘在Windows移动设备中键入多语种字符
EN

Stack Overflow用户
提问于 2015-01-31 01:40:00
回答 1查看 892关注 0票数 0

我有一个带有WindowsMobile6.5操作系统的智能设备,我想用.Net CF3.5和C#语言为这个设备编写一个应用程序。这个设备的键盘看起来就像这张图片:

正如你在最上面的图片中所看到的,文本和数字都放在同一个键上。例如,2有“ABC”,如果我们想写任何以‘A’开头的东西,我们需要输入一次键2。如果我们想要键入‘B’,按两次键2和三次输入‘C’。

Q1.我不能用这个键盘打字英文字母,我只会打字数字。我想在文本框中键入英文字母(还有波斯语字母)。我能用keybd_event()做这个工作吗?它是extern函数吗?

Q2.我有3种输入字符的方法,同时必须启用其中一种方法:

  1. 类型数字
  2. 键入英文字母(有些字符如。?/)
  3. 键入波斯字母(有一些字符,如。?/)

在其他人手中如何在这三种方法之间切换

Q3.如何根据3种输入法中的一种,用适当的字符显示键盘?(一次用英语,另一次用波斯语,另一次用数字)

问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-31 17:00:46

如果在一个应用程序(Compact )中只需要特殊的密钥解释,那么可能使用SDF (SmartDeviceFramework)才是可行的。见KeyTest3AKsdf on http://www.hjgode.de/wp/2012/09/20/windows-mobile-cf-how-to-catch-f1-and-f2-in-weh/

在Message中,您需要管理键盘平面(数字、英文字母、波斯字母),并且可能需要按下键超时,以确定一个键是否在一段时间内多次按下(以产生这些ABC可选输出)。

定义一个键或组合来在两个平面之间切换。

注意收到的信息,然后决定该做什么。您可以更改消息的副本,将其发送到消息队列并返回true,以便让windows系统知道您处理了该消息。

您可以将keybd_event用于winuser.h和winuserm.h中定义的简单键。但是对于扩展的字符,这将变得复杂(找到正确的值序列)。我将与PostMessage和WM_CHAR一起寻找扩展符号和字母。

此外,您可能需要安装一个真正的字体与波斯字体。默认的英语操作系统fimrware通常只支持unicode符号的子集。另见http://www.hjgode.de/wp/2011/04/06/mobile-development-a-simple-unicode-character-map/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28247275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档