Delphi实现自动切换输入法

  Delphi实现自动切换输入法

  我们在使用 Windows 平台(以下指中文版Windows)的软件时,常常需要输入一些有关信息,有时在一个编辑框内输入中文,而另一个编辑框却要求输入英文,这时我们不得不切换输入法。当我们在录入大量上述条件的数据至数据库时,频繁的切换无疑对速度影响很大,那么能不能在光标落入编辑框内时,就自动切换为所需的输入法呢?答案是肯定的,Delphi中就可以实现。

  在delphi中,可直接键入内容的元件都具有ImeMode、ImeName属性,IME为(Input Method Editor)的缩写。其中ImeMode 为枚举型变量,取值为(imDisable,imClose,imOpen,imDontCare,imSAlpha,imAlpha,imHira,imSKata,imKata,imChinese,imSHanguel,imHanguel),默认为imDontCare,其他几种属性值与本文没有很大关系,内容又多,因此略过。ImeName也是枚举型变量,默认为空,具体取值范围与系统中所装输入法有关,在Delphi启动时,自动检测得变量取值范围,对于中文版Windows而言,智能ABC输入法、全拼输入法都是缺省安装的。

  例如:一个用户登录窗口要求输入用户名(中文),口令(英文字母与数字的组合)。假设用户名为“陈理辉”,口令为“student”。设计步骤如下:

  新建一窗体,设置其属性为

  Caption: 登录窗口

  Name LoginForm

  BborderStyle bsDialog;

  FormStyle: fsStayonTop

  Position poScreenCenter

  在窗体中放入两个TLabel构件,分别设置为

  Caption 请输入用户名:

  Caption 密码:

  在窗体中放入一个TEdit构件,设置为

  Name UserNameEdtText

  ImeName 智能ABC输入法

  在窗体中放入一个TEdit构件,设置为

  Name PassWordEdt;Text

  PasswordChar ′*′

  放入一个TButton构件,设置为

  Caption 确认(&O)

  Name OkBtn

  双击该构件加入如下代码:

  procedure TLoginForm.OkBtnClick(Sender:TObject);

关注更新
返回首页

推荐排行

最新阅读


反馈