在Delphi中编程实现中文输入的功能
2017-07-10 09:05
477 查看
BorlandDelphi是著名的Borland(现在已和Inprise合并)公司开发的可视化软件开发工具。Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点,它一直为广大程序设计员所青睐。
一、背景介绍
大家在使用计算机操作的时候,一般情况下输入中文似乎就是一件不可避免的事情了。不同的使用者可能就喜欢不一样的中文输入法(即inputmethodeditor,简称IME,为了将汉字输入计算机或手机等电子设备而采用的编码方法,是中文信息处理的重要技术。),这样子的话,大家就不得不时常切换中文输入法了。如何进行切换呢?同一时间按下CTRL+Shift,CTRL+Space的组合键或者是使用鼠标单击任务栏里面的中文图标,这两种方法收可以实现的哟。虽然说方法实现起来不太困难,但是对于初学者来说,这样子操作起来非常的不方便。
那么针对这一个问题,大家可以在开发应用程序的时候,在应用程序里面设置用户喜欢的中文输入法,这样子会更加方便用户的使用。大家都应该知道一点,那就是在Delphi里面仅仅只有很少数控件,就比如说:TEdit是支持IME,然而这一个功能并不强,所以不可以在运行的时候进行更改中文输入法。那么这个时候我们应该怎么办呢?小编经过不断的探索以及实践,还在网上查找了相关的IME资料。终于被小编找到相关的解决方法了,只需要使用了Windows API这一个函数,就可以实现了IME的功能了。
二、函数介绍
那么接下来小编就为大家简单的介绍一下相关的函数吧。函数的种类主要有两种,分别是自定义函数以及常用函数,那么现在我们就一起来看一看吧。
1、自定义函数:
OpenIme(imename:string),这一个函数主要是用来打开相对应的中文输入法。就比如说:OpenIme(全拼输入法);
CloseIme,这一个函数主要是用来关闭中文输入法。
2、常用函数
常用函数主要有API函数,具体如下:
BOOLImmSimulateHotKey(HWNDhWnd,DWORDdwHotKeyID),这一个函数主要是用来模拟热键的。在这一个函数中,Hwnd是应用程序窗口里面的句柄,dwHotHKeyID是模拟的热键,假如说成功了那么返回True,不成功就返回False。
HKLGetKeyboardLayout(DWORDdwLayout),这一个函数主要是用来获取得到当前键盘的状态。
BOOLImmIsIME(HKLhKL),这一个函数主要是用来判断一下当前究竟是不是处于中文输入状态,假如是的话那么就返回True,不是则返回False。
三、实现方法
那么为了便于大家的理解,小编在这里就为大家演示一个较为简单的示范例子吧。大家注意咯,这一个示范例子仅仅只是起参考作用而已哟。另外一个方面,大家在使用的时候要uses里面加上imm才可以的哟。具体的编程代码如下图所示:
一、背景介绍
大家在使用计算机操作的时候,一般情况下输入中文似乎就是一件不可避免的事情了。不同的使用者可能就喜欢不一样的中文输入法(即inputmethodeditor,简称IME,为了将汉字输入计算机或手机等电子设备而采用的编码方法,是中文信息处理的重要技术。),这样子的话,大家就不得不时常切换中文输入法了。如何进行切换呢?同一时间按下CTRL+Shift,CTRL+Space的组合键或者是使用鼠标单击任务栏里面的中文图标,这两种方法收可以实现的哟。虽然说方法实现起来不太困难,但是对于初学者来说,这样子操作起来非常的不方便。
那么针对这一个问题,大家可以在开发应用程序的时候,在应用程序里面设置用户喜欢的中文输入法,这样子会更加方便用户的使用。大家都应该知道一点,那就是在Delphi里面仅仅只有很少数控件,就比如说:TEdit是支持IME,然而这一个功能并不强,所以不可以在运行的时候进行更改中文输入法。那么这个时候我们应该怎么办呢?小编经过不断的探索以及实践,还在网上查找了相关的IME资料。终于被小编找到相关的解决方法了,只需要使用了Windows API这一个函数,就可以实现了IME的功能了。
二、函数介绍
那么接下来小编就为大家简单的介绍一下相关的函数吧。函数的种类主要有两种,分别是自定义函数以及常用函数,那么现在我们就一起来看一看吧。
1、自定义函数:
OpenIme(imename:string),这一个函数主要是用来打开相对应的中文输入法。就比如说:OpenIme(全拼输入法);
CloseIme,这一个函数主要是用来关闭中文输入法。
2、常用函数
常用函数主要有API函数,具体如下:
BOOLImmSimulateHotKey(HWNDhWnd,DWORDdwHotKeyID),这一个函数主要是用来模拟热键的。在这一个函数中,Hwnd是应用程序窗口里面的句柄,dwHotHKeyID是模拟的热键,假如说成功了那么返回True,不成功就返回False。
HKLGetKeyboardLayout(DWORDdwLayout),这一个函数主要是用来获取得到当前键盘的状态。
BOOLImmIsIME(HKLhKL),这一个函数主要是用来判断一下当前究竟是不是处于中文输入状态,假如是的话那么就返回True,不是则返回False。
三、实现方法
那么为了便于大家的理解,小编在这里就为大家演示一个较为简单的示范例子吧。大家注意咯,这一个示范例子仅仅只是起参考作用而已哟。另外一个方面,大家在使用的时候要uses里面加上imm才可以的哟。具体的编程代码如下图所示:
相关文章推荐
- 华为:编程实现联想输入法 输入联想功能是非常实用的一个功能,请编程实现类似功能
- VC++界面编程之--实现一个画板并提供文字输入功能(MsPaint)
- 利用UITextField自定义搜索栏,实现中文输入过程中字母的搜索功能
- 木马编程DIY (Delphi版) - 第1篇 功能实现
- Android编程实现自定义输入法功能示例【输入密码时防止第三方窃取】
- 匹配输入华为:编程实现联想输入法 输入联想功能是非常实用的一个功能,请编程实现类似功能
- Android编程实现打勾显示输入密码功能
- Delphi编程实现显示桌面功能
- 如何实现输入字母就可以查出数据库中以该字母匹配的中文实现自动补全功能
- 编程实现文件的复制功能,要求源文件名及目标文件名在程序运行后根据提示输入
- linux下使用系统调用编程实现dir命令功能
- ASP.NET实现下载功能的中文文件名乱码处理
- ASP.NET实现下载功能的中文文件名乱码处理(收集)
- ASP.NET实现下载功能的中文文件名乱码处理
- 分布式编程->Remoting的一个代码示例(借助Remoting实现发送信息功能)
- Dhtml+正则实现类似IDE编辑器的动态提示输入功能
- 用日志钩子来实现键盘钩子功能之delphi/bcb版本
- 在LINUX下实现英文系统、中文输入
- Delphi中实现C++/Java类似静态变量的功能
- Email编程如何实现“代表发送”的功能?