在Windows Mobile上更改键盘布局

时间:2008-11-13 09:21:01

标签: c++ windows-mobile

在应用程序中有一个对话框,其中只有数字字符串条目有效。因此我想设置数字键盘布局。

有谁知道如何模拟键盘上的按键或任何其他方法来更改键盘布局?

谢谢!

3 个答案:

答案 0 :(得分:2)

你不需要。

就像完整的窗口一样,您可以将编辑控件设置为仅数字输入。您可以执行manually或在编辑控件的适当位置的对话框编辑器中执行此操作。

当仅数字编辑控件成为焦点时,SIP应自动显示数字键盘。

答案 1 :(得分:0)

您可以使用InputModeEditor:

InputModeEditor.SetInputMode(textBox1,InputMode.Numeric);

答案 2 :(得分:0)

只有一种方法可以做到这一点(编辑:这是指非智能手机Windows Mobile中的SIP,所以我不确定它与您的问题相关),它确实涉及模拟鼠标点击123按钮。然而,这只是问题的一半,因为您还需要知道键盘是否已经处于数字模式。这样做的方法是查看键盘左上角附近的像素 - 如果你看一下123按钮是如何工作的,你会看到它是windows背景上的系统文本,然后以数字模式反转(所以像素将仅在数字模式下为系统文本颜色)。你需要做的就是保证它能在所有设备上运行(你必须在键盘上画一个像素)。

幸运的是,我有一个易于使用的代码示例,可以做到这一切。不幸的是,它在C#中,但我认为它至少应该指向正确的方向。