Функция 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 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | imm.h (include Immdev.h, Windows.h) |
библиотеки |
Imm32.lib |
DLL | Imm32.dll |
См. также
Функции диспетчера методов ввода