Delpi输入法设置(ImeMode与ImeName)

10 篇文章 0 订阅
5 篇文章 0 订阅

我们的客户电脑输入法各式各样,程序员如果指定了输入法,但是有可能客户电脑上并不存在,导致需要不停地进行切换。

这里分析了一下机制。

Delphi中录入框与输入法有关的是两个属性:
输入法模式ImeMode,默认为 ImDontCare 表示若输入法处于关闭状态则打开最近一次使用过的输入法;
输入法名称ImeName,指定输入法名称.

具体机制:
ImeMode= ImDontCare,
如果输入框指定了 ImeName时,   如果该输入法在电脑中存在,则打开该输入法;
                                                    如果该输入法在电脑中不存在,则关闭输入法,进入英文输入状态;
如果输入框的 ImeName为空时,跟上一个输入框有关。
                                                   如果上一个输入框 ImeName为空,则与上一个输入框保持一致。
                                                   如果上一个输入框 ImeName指定了输入法,不管该输入法是否存在,都 关闭输入法,进入英文输入状态.
由于各用户的中文输入法很难一致,导致用户输入法不停变换。
因此,请大家将这两个属性设为:
ImeMode= ImDontCare
ImeName置空
这样用户可以一直使用当前选定的( 中文)输入法,直到需要变换时才手工进行变换
附:

Imemode属性,表示输入框的输入法不同状态:

imClose 关闭状态;

ImOpen 打开状态;

ImChinese 中文输入法状态;

ImDontCare 表示若输入法处于关闭状态则打开最近一次使用过的输入法;这个说法不准,见上文

ImSAlpha 半角状态;

ImAlpha 全角状态。


如果不需要输入法切换功能,由用户自己控制的话,直接设置全局变量SysLocale.FarEast := False;

也就是设为非远东国家模式,Delphi不管输入法的事了



  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值