Поделиться через


Образец IME: демонстрация управления режимом для редактора метода ввода и реализации редактора метода ввода на уровне 3

Обновлен: Ноябрь 2007

В образце IME используется класс CIMEEdit, который является подклассом CEdit, для создания элемента управления "Поле ввода". Класс CIMEEdit обрабатывает все вводимые символы и составляет строки в двухбайтовой кодировке (DBCS). Образец обладает следующими возможностями.

  • Он показывает, как управлять режимом редактора метода ввода с помощью C/C++. Также можно задать исходный режим редактора метода ввода в CIMEEdit для языка ввода, фигуры и т.д. Чтобы задать в элементе управления "Поле ввода" исходную поддержку корейских символов, можно добавить код из этого образца. Если будет использоваться только английский язык, можно отключить редактор метода ввода.

  • В образце также показано, как реализовать в исходном коде редактор метода ввода на уровне 3. Уровень 3 редакторов метода ввода более удобен и обладает более широким набором функций для пользователей из восточно-азиатских стран. С помощью этого образца можно создать пользовательский элемент управления или окно, которое поддерживает редактор метода ввода на уровне 3.

  • Этот образец определяет шрифт и кодовую страницу, используемую для преобразования из ANSI в Юникод, по раскладке клавиатуры, поэтому можно проверить работу четырех различных редакторов метода ввода для всех восточно-азиатских языков без изменения шрифта и кодовой страницы. Такая возможность предоставляется Windows 2000 и не является требованием для поддержки редактора метода ввода на уровне 3.

  • Функция GetCombinedCharLength поддерживает в этом образце только суррогатные символы. Если необходима поддержка составных символов, добавьте пользовательский код в метод.

Для использования функций в редакторе метода ввода в программу необходимо включить файл IMM.H и ссылку на библиотеку IMM32.LIB.

0x02zb6d.alert_security(ru-ru,VS.90).gifПримечание о безопасности.

Этот образец кода служит для демонстрации основных принципов и не предназначен для использования в приложениях или на веб-узлах, поскольку не может считаться примером наиболее безопасного кода. Корпорация Майкрософт не несет ответственности за случайные или косвенные убытки в случае использования образца кода не по назначению.

Чтобы получить образцы и инструкции по их установке, выполните следующие действия.

  • В меню Справка среды Visual Studio выберите пункт Примеры.

    Дополнительные сведения см. в разделе Поиск файлов примеров.

  • Самая последняя версия и полный список образцов доступны в Интернете на странице образцов Visual Studio 2008.

  • Кроме того, образцы находятся на жестком диске компьютера. По умолчанию образцы кода и файл Readme копируются в папку, находящуюся в папке \Program Files\Visual Studio 9.0\Samples\. Все образцы кода для экспресс-выпусков Visual Studio находятся в Интернете.

Построение и запуск образца

Построение и запуск этого образца

  1. Откройте решение IME.sln.

  2. В меню Построение выберите команду Построить.

  3. В меню Отладка выберите команду Запуск без отладки.

Запустите образце и проверьте работу следующих функций.

Управление режимом для редактора метода ввода

  • Режим редактора метода ввода можно изменить с помощью флажков. Изменение параметров с помощью флажков отражается на состоянии окна 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

См. также

Другие ресурсы

Международные образцы