Функция ImmSetCompositionStringA (imm.h)
Задает символы, атрибуты и предложения строк композиции и чтения.
Синтаксис
BOOL ImmSetCompositionStringA(
HIMC unnamedParam1,
[in] DWORD dwIndex,
[in, optional] LPVOID lpComp,
[in] DWORD dwCompLen,
[in, optional] LPVOID lpRead,
[in] DWORD dwReadLen
);
Параметры
unnamedParam1
[in] dwIndex
Тип устанавливаемых сведений. Этот параметр может иметь одно из следующих значений.
Значение | Значение |
---|---|
|
Задайте строку композиции, строку чтения или и то, и другое. По крайней мере один из параметров lpComp и lpRead должен указывать допустимую строку. Если строка слишком длинна, IME усекает ее. |
|
Задайте атрибуты для строки композиции, строки чтения или и того, и другого. По крайней мере один из параметров lpComp и lpRead должен указывать допустимый массив атрибутов. |
|
Задайте сведения о предложении для строки композиции, строки чтения или и того, и другого. По крайней мере один из параметров lpComp и lpRead должен указывать на допустимый массив сведений о предложении. |
|
Windows Me/98, Windows 2000, Windows XP: Попросите IME переверить строку, используя указанную структуру RECONVERTSTRING . |
|
Windows Me/98, Windows 2000, Windows XP: Попросите IME настроить структуру RECONVERTSTRING . Затем приложение может передать скорректированную структуру в эту функцию с помощью SCS_SETRECONVERTSTRING. IME не создает сообщения WM_IME_COMPOSITION . |
[in, optional] lpComp
Указатель на буфер, содержащий сведения, задаваемые для строки композиции, как указано в значении dwIndex.
[in] dwCompLen
Размер (в байтах) информационного буфера для строки композиции, даже если указан SCS_SETSTR и буфер содержит строку Юникода.
[in, optional] lpRead
Указатель на буфер, содержащий сведения, задаваемые для строки чтения, как указано в значении dwIndex. Приложение может задать для этого параметра значение NULL.
[in] dwReadLen
Размер (в байтах) информационного буфера для строки чтения, даже если указан SCS_SETSTR и буфер содержит строку Юникода.
Возвращаемое значение
Возвращает ненулевое значение в случае успешного выполнения или значение 0 в противном случае.
Комментарии
Приложение может задать lpComp, lpRead или и то, и другое. Если приложение не указывает значение для lpComp, оно должно присвоить этому параметру значение NULL , а параметру dwCompLen — значение 0.
При изменении атрибутов приложением все символы в предложении должны иметь один и тот же атрибут. Преобразованные символы должны иметь атрибут ATTR_CONVERTED или ATTR_TARGET_CONVERTED. Неконвертированные символы должны иметь атрибут ATTR_INPUT или ATTR_TARGET_NOTCONVERTED.
Когда приложение изменяет сведения о предложении, оно может изменять только целевое предложение, затрагивая только одну границу за раз. Целевое предложение имеет атрибут ATTR_TARGET_CONVERTED или ATTR_TARGET_NOTCONVERTED.
Дополнительные сведения об атрибутах (значениях ATTR_*) см. в разделе Строка композиции.
Когда IME завершает изменения, он отправляет WM_IME_COMPOSITION сообщение приложению, чтобы уведомить его об изменениях.
Windows Me/98, Windows 2000, Windows XP: Значения SCS_*CONVERTSTRING используются для рековерсия. Их можно использовать только для IME со свойством SCS_CAP_SETRECONVERTSTRING. Приложение использует эти значения следующим образом:
- Вызовите ImmSetCompositionString с SCS_QUERYRECONVERTSTRING, чтобы IME отрегулирует структуру RECONVERTSTRING для рековерсия.
- Вызовите ImmSetCompositionString с SCS_SETRECONVERTSTRING, чтобы IME создавал новую строку композиции. После этого lpComp и lpRead обозначают структуру RECONVERTSTRING , содержащую обновленную строку композиции и чтения. Используйте значение lpRead только в том случае, если выбранный IME SCS_CAP_MAKEREAD задан.
Примечание
Заголовок imm.h определяет ImmSetCompositionString в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Минимальная версия клиента | Windows XP [только классические приложения], установленная поддержка восточноазиатских языков. |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | imm.h (включая Immdev.h, Windows.h) |
Библиотека | Imm32.lib |
DLL | Imm32.dll |