输入法编辑器(IME)编程指南

以下是IME编程中需要用到的几项基本组成元素:

•  IME函数

•  IME消息

•  IME命令

•  IME结构

•  IME常量
IME函数

本节列出了所有IME函数。
函数 说明
EnumInputContext 由应用程序定义的,提供给ImmEnumInputContext函数用来处理输入环境的一个回调函数。
EnumRegisterWordProc 由应用程序定义的,结合ImmEnumRegisterWord函数一起使用的一个回调函数。
ImmAssociateContext 建立指定输入环境与窗口之间的关联。
ImmAssociateContextEx 更改指定输入环境与窗口(或其子窗口)之间的关联。
ImmConfigureIME 显示指定的输入现场标识符的配置对话框。
ImmCreateContext 创建一个新的输入环境,并为它分配内存和初始化它。
ImmDestroyContext 销毁输入环境并释放和它关联的内存。
ImmDisableIME 关闭一个线程或一个进程中所有线程的IME功能。
ImmDisableTextFrameService 关闭指定线程的文本服务框架(TSF)功能--虽然这里把它列了出来,但建议程序员最好不要使用这个函数。
ImmEnumInputContext 获取指定线程的输入环境。
ImmEnumRegisterWord 列举跟指定读入串、样式和注册串相匹配的注册串。
ImmEscape 对那些不能通过IME API函数来访问的特殊输入法程序提供兼容性支持的一个函数。
ImmGetCandidateList 获取一个候选列表。
ImmGetCandidateListCount 获取候选列表的大小。
ImmGetCandidateWindow 获取有关候选列表窗口的信息。
ImmGetCompositionFont 获取有关当前用来显示按键组合窗口中的字符的逻辑字体的信息。
ImmGetCompositionString 获取有关组合字符串的信息。
ImmGetCompositionWindow 获取有关按键组合窗口的信息。
ImmGetContext 获取与指定窗口相关联的输入环境。
ImmGetConversionList 在不生成任何跟IME有关的消息的情况下,获取输入按键字符组合或输出文字的转换结果列表。
ImmGetConversionStatus 获取当前转换状态。
ImmGetDefaultIMEWnd 获取缺省IME类窗口的句柄。
ImmGetDescription 复制IME的说明信息到指定的缓冲区中。
ImmGetGuideLine 获取出错信息。
ImmGetIMEFileName 获取跟指定输入现场相关联的IME文件名。
ImmGetImeMenuItems 获取注册在指定输入环境的IME菜单上的菜单项。
ImmGetOpenStatus 检测IME是否打开。
ImmGetProperty 获取跟指定输入现场相关联的IME的属性和功能。
ImmGetRegisterWordStyle 获取跟指定输入现场相关联的IME所支持的样式列表。
ImmGetStatusWindowPos 获取状态窗口的位置。
ImmGetVirtualKey 获取跟IME处理的键盘输入消息相关联的初始虚拟键值。
ImmInstallIME 安装一个IME。
ImmIsIME 检测指定的输入现场是否有和它相关的IME。
ImmIsUIMessage 检查IME窗口消息并发送那些消息到特定的窗口。
ImmNotifyIME 通知IME有关输入环境状态已改变的消息。
ImmRegisterWord 注册一个输出文字到跟指定输入现场相关联的IME的字典中去。
ImmReleaseContext 销毁输入环境并解除对跟它相关联的内存的锁定。
ImmSetCandidateWindow 设置有关候选列表窗口的信息。
ImmSetCompositionFont 设置用来显示按键组合窗口中的字符的逻辑字体。
ImmSetCompositionString 设置按键组合字符串的字符内容、属性和子串信息。
ImmSetCompositionWindow 设置按键组合窗口的位置。
ImmSetConversionStatus 设置当前转换状态。
ImmSetOpenStatus 打开或关闭IME功能。
ImmSetStatusWindowPos 设置状态窗口的位置。
ImmSimulateHotKey 在指定的窗口中模拟一个特定的IME热键动作,以触发该窗口相应的响应动作。
ImmUnregisterWord 从跟指定输入环境相关联的IME的字典中注销一个输出文字。
IME消息

以下列出IME中用到的消息。

WM_IME_CHAR(IME得到了转换结果中的一个字符)

WM_IME_COMPOSITION(IME根据用户击键的情况更改了按键组合状态)

WM_IME_COMPOSITIONFULL(IME检测到按键组合窗口的区域无法继续扩展)

WM_IME_CONTROL(由应用程序直接向IME发出控制请求)

WM_IME_ENDCOMPOSITION(IME完成了对用户击键情况的组合)

WM_IME_KEYDOWN(检测到“键盘上的某键被按下”的动作,同时在消息队列中保留该消息)

WM_IME_KEYUP(检测到“键盘上的某键已弹起”的动作,同时在消息队列中保留该消息)

WM_IME_NOTIFY(IME窗口发生了改变)

WM_IME_REQUEST(通知:IME需要应用程序提供命令和请求信息)

WM_IME_SELECT(操作系统将改变当前IME)

WM_IME_SETCONTEXT(输入焦点转移到了某个窗口上)

WM_IME_STARTCOMPOSITION(IME准备生成转换结果)
IME命令

以下列出IME中用到的命令(控制消息)。

IMC_CLOSESTATUSWINDOW(隐藏状态窗口)

IMC_GETCANDIDATEPOS(获取候选窗口的位置)

IMC_GETCOMPOSITIONFONT(获取用来显示按键组合窗口中的文本的逻辑字体)

IMC_GETCOMPOSITIONWINDOW(获取按键组合窗口的位置)

IMC_GETSTATUSWINDOWPOS(获取状态窗口的位置)

IMC_OPENSTATUSWINDOW(显示状态窗口)

IMC_SETCANDIDATEPOS(设置候选窗口的位置)

IMC_SETCOMPOSITIONFONT(设置用来显示按键组合窗口中的文本的逻辑字体)

IMC_SETCOMPOSITIONWINDOW(设置按键组合窗口的样式)

IMC_SETSTATUSWINDOWPOS(设置状态窗口的位置)

IMN_CHANGECANDIDATE(IME通知应用程序:候选窗口中的内容将改变)

IMN_CLOSECANDIDATE(IME通知应用程序:候选窗口将关闭)

IMN_CLOSESTATUSWINDOW(IME通知应用程序:状态窗口将关闭)

IMN_GUIDELINE(IME通知应用程序:将显示一条出错或其他信息)

IMN_OPENCANDIDATE(IME通知应用程序:将打开候选窗口)

IMN_OPENSTATUSWINDOW(IME通知应用程序:将创建状态窗口)

IMN_SETCANDIDATEPOS(IME通知应用程序:已结束候选处理同时将移动候选窗口)

IMN_SETCOMPOSITIONFONT(IME通知应用程序:输入内容的字体已更改)

IMN_SETCOMPOSITIONWINDOW(IME通知应用程序:按键组合窗口的样式或位置已更改)

IMN_SETCONVERSIONMODE(IME通知应用程序:输入内容的转换模式已更改)

IMN_SETOPENSTATUS(IME通知应用程序:输入内容的状态已更改)

IMN_SETSENTENCEMODE(IME通知应用程序:输入内容的语句模式已更改)

IMN_SETSTATUSWINDOWPOS(IME通知应用程序:输入内容中的状态窗口的位置已更改)

IMR_CANDIDATEWINDOW(通知:选定的IME需要应用程序提供有关候选窗口的信息)

IMR_COMPOSITIONFONT(通知:选定的IME需要应用程序提供有关用在按键组合窗口中的字体的信息)

IMR_COMPOSITIONWINDOW(通知:选定的IME需要应用程序提供有关按键组合窗口的信息)

IMR_CONFIRMRECONVERTSTRING(通知:IME需要应用程序更改RECONVERTSTRING结构)

IMR_DOCUMENTFEED(通知:选定的IME需要从应用程序那里取得已转换的字符串)

IMR_QUERYCHARPOSITION(通知:选定的IME需要应用程序提供有关组合字符串中某个字符的位置信息)

IMR_RECONVERTSTRING(通知:选定的IME需要应用程序提供一个用于自动更正的字符串)
IME编程中需要用到的数据结构

这里列了所有在使用输入法编辑器函数和消息时需要用到的数据结构。

CANDIDATEFORM(描述候选窗口的位置信息)

CANDIDATELIST(描述有关候选列表的信息)

COMPOSITIONFORM(描述按键组合窗口的样式和位置信息)

IMECHARPOSITION(描述按键组合窗口中的字符的位置信息)

IMEMENUITEMINFO(描述IME菜单项的信息)

RECONVERTSTRING(定义用于IME自动更正功能的字符串)

REGISTERWORD(描述一个要注册的读入信息或文字内容)

STYLEBUF(描述样式的标识符和名称)

输入法编辑器(IME)编程指南相关推荐

  1. VIM编辑器初学者用法指南——vim中无法使用冒号更改Ubuntu的输入法解决

    VIM编辑器初学者用法指南 一.vim打开文件: 二.vim编辑文件: 三.退出编辑模式 四.保存文件并退出Vim编辑器 Vim编辑器是Unix系统最初的编辑器,内置有两种操作模式:普通模式和插入模式 ...

  2. 输入法编程指南(根据msdn翻译)

    2006-01-14 作者 不祥 Windows 95输入法编辑器(IME) 原著:Microsoft 翻译:TBsoft Software Studio 一.关于Windows 95混合语言IME ...

  3. 输入法编辑器(IME)程序设计(1)

    头一次发译的东西,肯定会有不少错误,请大家多多斧正. 本人志在编写中国最出色的输入法,解放中国人的双手. 今从零起步,朝成夕可死也. Input Method Editor An input meth ...

  4. Windows CE下中文输入法编辑器

    作者:macrozhang001 转自:http://blog.csdn.net/macrozhang001/article/details/5621123 CE包含了一种简体中文输入法编辑器,如果不 ...

  5. Win32 IME 编程心得【转】

    一些术语 IME: Input Method Editor/Engine, 输入法编辑器, 引擎 IMM: Input Method Manager, 输入法管理器 Comp: Composition ...

  6. CE下中文输入法编辑器(转)

    CE包含了一种简体中文输入法编辑器,如果不想编写自己的输入法编辑器,那么可以直接调用默认的.在讲解中文输入法编辑器之前顺便提一下国际化(Internationalization),中文输入法及输入法编 ...

  7. iPhone应用程序编程指南

    介绍 请注意:本文档之前命名为iPhone OS编程指南. iPhone SDK为创建iPhone的本地应用程序提供必需的工具和资源.在用户的Home屏幕上,iPhone的本地应用程序表示为图标.它们 ...

  8. (转)---iPhone应用程序编程指南

    请注意:本文档之前命名为iPhone OS编程指南. iPhone SDK为创建iPhone的本地应用程序提供必需的工具和资源.在用户的Home屏幕上,iPhone的本地应用程序表示为图标.它们和运行 ...

  9. Matlab概率统计编程指南

    Matlab概率统计编程指南 第4章 概率统计 本章介绍MATLAB在概率统计中的若干命令和使用格式,这些命令存放于MatlabR12\Toolbox\Stats中. 4.1 随机数的产生 4.1.1 ...

  10. 《Linux与unix Shell编程指南》 总结

    <Linux与unix Shell编程指南> 总结 标签: linux网络dstcron服务器 2011-01-10 18:27 3742人阅读 评论(0) 收藏 举报 分类: Linux ...

最新文章

  1. ehcache 简介
  2. 前端:Element UI 多选框组用法笔记
  3. 卡西欧82es计算机怎么玩游戏,卡西欧计算器fx82es-如何使用卡西欧fx-82es计算器计算矩阵 – 手机爱问...
  4. python histo 改变 bins 大小_在Python中显示具有非常不均匀的bin宽度的直方图
  5. tomcat学习笔记1
  6. 无向图的深度优先遍历非递归_【数据结构图(一)】什么是图
  7. SharePoint 软件边界及限制
  8. 7-15 计算圆周率 (C语言)
  9. 浏览器扫码器 ,扫描二维码,浏览器调起二维码,扫一扫功能,网页版扫一扫
  10. 计算机音量控制器打不开,我的电脑打不开音量控制器.怎么办?
  11. 相机视场角和焦距_摄像机焦距和视场角计算.doc
  12. 【新书推荐】大唐的裂变(套装共5册)(王澄明等著)
  13. 地理信息三维可视化技术在城市规划中的应用
  14. 第6章 查询处理和查询优化
  15. 新款 MacBook Pro 评测:更好的性能、免费的刘海和更好的显示器
  16. 特殊字符编码格式数据库不支持
  17. Linux学习笔记(二) -- Linux学习笔记(二) – 解决VMware主窗口中的虚拟机窗口太小的方法
  18. [聊聊] 【自制OTG数据线】好多人都花钱买了,有几个懂呢?
  19. 计算机在化学化工中的应用ppt绪论,化工原理_01概述全解课件.ppt
  20. 数字插值滤波与数字正交上变频的仿真与实验----基于高速DAC芯片

热门文章

  1. 1999-2019中国互联网发展二十年趋势
  2. 高中数学解题技巧:平面解析几何-圆锥曲线的综合问题
  3. graphviz linux教程,linux下做图工具——graphviz安装配置
  4. 台式计算机运行慢怎么样能提高速度,怎样提高电脑运行速度,教您怎样提高电脑运行速度...
  5. axios delete
  6. TiDB集群的GC不回收案例(案情二)
  7. 用java判断是否是合法邮箱即验证邮箱格式
  8. 野火Linux内核,ebf_6ull_linux
  9. 在横道图中如何实现多级项目计划管控
  10. win10计算机文件夹隐藏,Win10系统中怎么隐藏文件夹,不让文件夹显示