IME 示例:演示如何控制 IME 模式和实现 IME 级别 3

更新:2007 年 11 月

此 IME 示例使用 CEdit 的子类 CIMEEdit 创建编辑控件 (Edit Control)。CIMEEdit 处理所有输入字符,并且撰写 DBCS 字符串。此示例具有以下特性:

  • 它说明如何使用 C/C++ 来控制 IME 模式。可以就输入语言、形状等方面设置 CIMEEdit 的初始 IME 模式。如果希望编辑控件 (Edit Control) 最初设置为获取朝鲜语字符,可以像此示例这样添加代码。另外,如果只希望使用英语,则可以禁用 IME。

  • 它还说明如何在源代码中实现 IME 级别 3。IME 级别 3 对于东亚用户来说更加方便且功能更强大。可以使用此示例创建支持 IME 级别 3 的自定义控件或窗口。

  • 此示例根据键盘布局确定用于 Ansi 到 Unicode 转换的字体和代码页,以便可以对所有东亚语言尝试 4 种不同的 IME,而不必更改字体或代码页。这是 Windows 2000 的一个功能,并不是 IME 级别 3 的支持要求。

  • GetCombinedCharLength 函数在此示例中只支持代理项字符。如果需要支持组合字符,请向方法中添加代码。

若要使用 IME 函数,程序必须包含 IMM.H 并且与 IMM32.LIB 链接。

安全说明:

提供该示例代码是为了阐释一个概念,并不代表着最安全的编码实践,因此不应在应用程序或网站中使用该示例代码。对于超出本示例代码的预期用途以外的使用所造成的偶然或继发性损失,Microsoft 不承担任何责任。

获取示例和安装示例的说明:

  • 在 Visual Studio 的“帮助”菜单上,单击“示例”。

    有关更多信息,请参见定位示例文件

  • 示例的最新版本和完整列表可以从 Visual Studio 2008 Samples page(Visual Studio 2008 示例页面)联机获取。

  • 还可以在计算机的硬盘上查找示例。默认情况下,将示例和自述文件复制到 \Program Files\Visual Studio 9.0\Samples\ 下的文件夹中。对于 Visual Studio 速成版,所有示例都位于联机位置。

生成并运行示例

生成并运行此示例

  1. 打开解决方案 IME.sln。

  2. 从“生成”菜单中单击“生成”。

  3. 在**“调试”**菜单上,单击“开始执行(不调试)”。

运行此示例并尝试下面的功能。

控制 IME 模式

  • 可以使用复选框更改 IME 模式。如果使用复选框更改选项,则 IME 窗口的状态将更改。

  • 可以使用 IME 窗口更改 IME 模式。如果使用 IME 窗口更改选项,则示例中的复选框将更改。

  • 可以启用或禁用 IME。

实现 IME 级别 3

  • 如果输入双字节字符,则可以了解如何撰写字符串。

  • 如果在 Windows 2000 上具有适当的字体,则可以看到代理项字符。

类和关键字

此示例说明以下类:

CEdit

此示例说明以下关键字:

CBitmap::OnPaint;CEdit::OnChar;CEdit::OnSetFocus;CEdit::OnKillFocus;CEdit::OnKeyDown;CEdit::WindowProc;ImmGetContext;ImmReleaseContext;ImmGetConversionStatus;ImmSetConversionStatus;ImmGetOpenStatus;ImmSetOpenStatus;ImmAssociateContext;ImmNotifyIME;ImmGetCompositionString;ImmGetProperty;ImmSetCandidateWIndow;ImmSetCompositionWIndow

请参见

其他资源

国际示例