Образец IME: демонстрация управления режимом для редактора метода ввода и реализации редактора метода ввода на уровне 3
Обновлен: Ноябрь 2007
В образце IME используется класс CIMEEdit, который является подклассом CEdit, для создания элемента управления "Поле ввода". Класс CIMEEdit обрабатывает все вводимые символы и составляет строки в двухбайтовой кодировке (DBCS). Образец обладает следующими возможностями.
Он показывает, как управлять режимом редактора метода ввода с помощью C/C++. Также можно задать исходный режим редактора метода ввода в CIMEEdit для языка ввода, фигуры и т.д. Чтобы задать в элементе управления "Поле ввода" исходную поддержку корейских символов, можно добавить код из этого образца. Если будет использоваться только английский язык, можно отключить редактор метода ввода.
В образце также показано, как реализовать в исходном коде редактор метода ввода на уровне 3. Уровень 3 редакторов метода ввода более удобен и обладает более широким набором функций для пользователей из восточно-азиатских стран. С помощью этого образца можно создать пользовательский элемент управления или окно, которое поддерживает редактор метода ввода на уровне 3.
Этот образец определяет шрифт и кодовую страницу, используемую для преобразования из ANSI в Юникод, по раскладке клавиатуры, поэтому можно проверить работу четырех различных редакторов метода ввода для всех восточно-азиатских языков без изменения шрифта и кодовой страницы. Такая возможность предоставляется Windows 2000 и не является требованием для поддержки редактора метода ввода на уровне 3.
Функция GetCombinedCharLength поддерживает в этом образце только суррогатные символы. Если необходима поддержка составных символов, добавьте пользовательский код в метод.
Для использования функций в редакторе метода ввода в программу необходимо включить файл IMM.H и ссылку на библиотеку IMM32.LIB.
Примечание о безопасности. |
---|
Этот образец кода служит для демонстрации основных принципов и не предназначен для использования в приложениях или на веб-узлах, поскольку не может считаться примером наиболее безопасного кода. Корпорация Майкрософт не несет ответственности за случайные или косвенные убытки в случае использования образца кода не по назначению. |
Чтобы получить образцы и инструкции по их установке, выполните следующие действия.
В меню Справка среды Visual Studio выберите пункт Примеры.
Дополнительные сведения см. в разделе Поиск файлов примеров.
Самая последняя версия и полный список образцов доступны в Интернете на странице образцов Visual Studio 2008.
Кроме того, образцы находятся на жестком диске компьютера. По умолчанию образцы кода и файл Readme копируются в папку, находящуюся в папке \Program Files\Visual Studio 9.0\Samples\. Все образцы кода для экспресс-выпусков Visual Studio находятся в Интернете.
Построение и запуск образца
Построение и запуск этого образца
Откройте решение IME.sln.
В меню Построение выберите команду Построить.
В меню Отладка выберите команду Запуск без отладки.
Запустите образце и проверьте работу следующих функций.
Управление режимом для редактора метода ввода
Режим редактора метода ввода можно изменить с помощью флажков. Изменение параметров с помощью флажков отражается на состоянии окна 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