Window mobile 软键盘输入法设置
(Input Method Manager,简称IMM)
using Microsoft.WindowsCE.Forms;
InputPanel ip = new InputPanel();
foreach(InputMethod p in ip.InputMethods)
{
treeView1.Nodes.Add(new TreeNode(p.Name));
}
这样可以得到系统中安装的所有输入法。比如我的是A4输入法及本机自带拼音手写输入法等。
在特定的输入框中,我们有时只需输入数字,或者英文,这样要对输入法“拼”“英”“符”等三项进行切换。需要使用到
BOOL ImmSetConversionStatus(
HIMC hIMC,
DWORD fdwConversion,
DWORD fdwSentence
);
参数一:句柄
参数二: IMN_SETCONVERSIONMODE
Value | Description |
---|---|
IME_CMODE_CHARCODE |
Set to 1 if character code input mode; 0 if not. |
IME_CMODE_EUDC |
Set to 1 if EUDC conversion mode; 0 if not. |
IME_CMODE_FULLSHAPE |
Set to 1 if full shape mode; 0 if half shape mode. |
IME_CMODE_HANJACONVERT |
Set to 1 if HANJA convert mode; 0 if not. |
IME_CMODE_KATAKANA |
Set to 1 if KATAKANA mode; 0 if HIRAGANA mode. |
IME_CMODE_NATIVE |
Set to 1 if NATIVE mode; 0 if ALPHANUMERIC mode. |
IME_CMODE_NOCONVERSION |
Set to 1 to prevent processing of conversions by IME; 0 if not. |
IME_CMODE_ROMAN |
Set to 1 if ROMAN input mode; 0 if not. |
IME_CMODE_SOFTKBD |
Set to 1 if Soft Keyboard mode; 0 if not. |
参数三: IMN_SETSENTENCEMODE
Value | Description |
---|---|
IME_SMODE_AUTOMATIC |
The IME carries out conversion processing in automatic mode. |
IME_SMODE_NONE |
No information for sentence. |
IME_SMODE_PHRASEPREDICT |
The IME uses phrase information to predict the next character. |
IME_SMODE_PLURALCLAUSE |
The IME uses plural clause information to carry out conversion processing. |
IME_SMODE_SINGLECONVERT |
The IME carries out conversion processing in single-character mode. |
C/C++ code HIMC hImc;
DWORD dwConv, dwSent;
hImc = ImmGetContext(hwndTarget);
ImmGetConversionStatus(hImc, &dwConv, &dwSent);
if (ImmSetConversionStatus(hImc, IME_CMODE_ALPHANUMERIC, dwSent) == 0)
{
// error
}
ImmReleaseContext(hwndTarget, hImc);
C# code
IntPtr hwndInput = ImmGetContext(this.Handle);
IntPtr dw1 = IntPtr.Zero;
IntPtr dw2 = IntPtr.Zero;
bool isSuccess = ImmGetConversionStatus(hwndInput, ref dw1, ref dw2);
if (isSuccess)
{
int intTemp = dw1.ToInt32() & IME_CMODE_SOFTKBD;
if (intTemp > 0)
dw1 = (IntPtr)(dw1.ToInt32() ^ IME_CMODE_SOFTKBD);
else
dw1 = (IntPtr)(dw1.ToInt32() | IME_CMODE_SOFTKBD);
}
isSuccess = ImmSetConversionStatus(hwndInput, dw1, dw2);
ImmReleaseContext(this.Handle, hwndInput);
public const int IME_CMODE_SOFTKBD = 0x80;
唉!我内流满面啊!找了半天在Coredll.DLL中没有ImmSetConversionStatus现在在MSDN帮助中找到
// Set input mode for name text box to AlphaCurrent.
InputModeEditor.SetInputMode(textBox1, InputMode.AlphaCurrent);
// Set input mode for phone number text box to Numeric.
InputModeEditor.SetInputMode(textBox2, InputMode.Numeric);
// Set input mode for city text box to AlphaCurrent.
InputModeEditor.SetInputMode(textBox3, InputMode.AlphaCurrent);
命名空间:Microsoft.WindowsCE.Forms
但是经测试发现,只支持设置smartphone的输入法,在ppc,wm5,wm6都是无效的。。。
继续郁闷,强人路过请指导一下!
Window mobile 软键盘输入法设置相关推荐
- 全面解析Android EditText以及软键盘的设置
原创文章,转载请注明出处:http://blog.csdn.net/myth13141314/article/details/54972337 软键盘的行为可以通过修改对应Activity的andro ...
- Android 进入Activity禁止弹出软键盘输入法及stateHidden和stateAlwaysHidden的区别
在开发中经常会遇到这样的问题,进入一个含Edittext的Activity后总是会自动弹出软件盘.但是有时候我们又不想让它弹出,因为影响美观,而且用户可能也会反感.最好的做法是刚进入时不让弹出,在用户 ...
- Android判断软键盘 输入法 是否显示
文章目录 1.简介 2.判断原理 3.功能实现 3.文件参考 1.简介 1)判断界面上是否显示出软键盘 2)有软键盘隐藏,没有显示 2.判断原理 根据判断整体可见区域和整体界面的位置 3.功能实现 c ...
- Window调用软键盘方法
1 调用运行界面 win + r 快捷键也行 2 输入osk,回车 3 华丽丽的软键盘 因为笔记本的B和Q键坏了,所以只能出此下次,记得固定在Window底下的任务栏中,方便随时显示
- Android自定义软键盘输入法,隐藏系统输入法显示光标的实现
android实现自定义软键盘,先上图看效果,效果基本上是仿ios输入法实现的 这里是实现隐藏系统输入法,同时让EditText能获取光标的代码部分(通过反射调用): <span style=& ...
- Android中软键盘(输入法)收起的方法
Android中隐藏软键盘的方法,下面是个工具类,直接调用方法即可 package com.Yhsh.util;import android.app.Activity; import android. ...
- 安卓强制关闭软键盘输入法
Activity 中关闭软键盘 InputMethodManager imm = (InputMethodManager) mActivity.getSystemService(Context.INP ...
- next按钮源码android,Android Edittext 软键盘输入法回车键改成下一步Next
软件盘中回车键默认功能是换行,但是有时候我们在Edittext中输完内容后点回车想要把焦点切到下一个Edittext继续输入,比如常见的登录页面,在输完用户名后,点回车调到输入密码输入框继续输入. 示 ...
- Android Edittext 软键盘输入法回车键改成下一步Next
软件盘中回车键默认功能是换行,但是有时候我们在Edittext中输完内容后点回车想要把焦点切到下一个Edittext继续输入,比如常见的登录页面,在输完用户名后,点回车调到输入密码输入框继续输入. 示 ...
最新文章
- 知乎点赞工具使用教程
- string.Format 方法拼入{}
- 鸟哥的Linux私房菜(基础篇)-第五章、首次登陆与在线求助 man page
- android正则表达式隐藏邮箱地址中间字符
- c语言错误spawning,C语言一直出现Error spawning cl.exe的解决办法
- Ubuntu下mysql可视化_ubuntu上mysql有可视化界面吗 ubuntu mysql 图形界面
- Android开源项目第一篇——个性化控件(View)篇
- Win 10 下 android studio显示 Intel haxm无法安装,以及VT-X和hyper-x的冲突问题
- 微信小程序周记(第一周 7.19-7.25)
- 关于C++版本的海图渲染引擎MyS57Map
- 安装/卸载office2003出现“无法打开此修补程序包”错误
- 法国计算机高等工程师学院排名,法国人工智能专业大学排名(2020年USNEWS)_快飞留学...
- R语言逻辑回归的预测概率怎么算
- 【SAP-CO】CO模块主要子模块相关概念
- Selenium 设置带账号密码的socks5代理
- JZOJ5953. 【NOIP2018模拟11.5A组】生死之境
- PPT资源记录---怕换电脑忘记这些东西,先行记录一波
- Idea的C盘缓存文件.IntelliJldea2017.3 过大导致C盘空间不足解决方案
- Python基础之入门
- Javaweb 第5天 mysql 数据库课程
热门文章
- 条码打印软件如何实现条码数据彩色效果
- 解决之道:从互联网安全到IoT安全,如何关上潘多拉魔盒?
- linux 监听图形,Zabbix3.2+Grafana4.0实现可视化监控图形
- 外部中断器微型计算机课程设计,基于51单片机汇编语言的数字钟课程设计报告(含有闹钟万年历)...
- 区块链上市公司半年报: 41家进入实际应用及研究 5家瞄准供应链金融
- cad图纸怎么看懂_cad学习技巧:如何快速看懂图纸
- 我的 卡特尔16pf
- Java 工具类 - 身份证工具类 IDCardUtil
- LeetCode 题集:字典树
- python语言好不好_《python编程基础》这本书怎么样