Función ImmSetCompositionStringA (imm.h)
Establece los caracteres, atributos y cláusulas de las cadenas de composición y lectura.
Sintaxis
BOOL ImmSetCompositionStringA(
HIMC unnamedParam1,
[in] DWORD dwIndex,
[in, optional] LPVOID lpComp,
[in] DWORD dwCompLen,
[in, optional] LPVOID lpRead,
[in] DWORD dwReadLen
);
Parámetros
unnamedParam1
[in] dwIndex
Tipo de información que se va a establecer. Este parámetro puede tener uno de los valores siguientes.
Valor | Significado |
---|---|
|
Establezca la cadena de composición, la cadena de lectura o ambas. Al menos uno de los parámetros lpComp y lpRead debe indicar una cadena válida. Si cualquiera de las cadenas es demasiado larga, el IME lo trunca. |
|
Establezca atributos para la cadena de composición, la cadena de lectura o ambas. Al menos uno de los parámetros lpComp y lpRead debe indicar una matriz de atributos válida. |
|
Establezca la información de la cláusula para la cadena de composición, la cadena de lectura o ambas. Al menos uno de los parámetros lpComp y lpRead debe apuntar a una matriz de información de cláusulas válida. |
|
Windows Me/98, Windows 2000, Windows XP: Pida a IME que vuelva a convertir la cadena mediante una estructura RECONVERTSTRING especificada. |
|
Windows Me/98, Windows 2000, Windows XP: Pida a IME que ajuste la estructura RECONVERTSTRING . A continuación, la aplicación puede pasar la estructura ajustada a esta función mediante SCS_SETRECONVERTSTRING. IME no genera ningún mensaje de WM_IME_COMPOSITION . |
[in, optional] lpComp
Puntero a un búfer que contiene la información que se va a establecer para la cadena de composición, según lo especificado por el valor de dwIndex.
[in] dwCompLen
Tamaño, en bytes, del búfer de información para la cadena de composición, incluso si se especifica SCS_SETSTR y el búfer contiene una cadena Unicode.
[in, optional] lpRead
Puntero a un búfer que contiene la información que se va a establecer para la cadena de lectura, tal y como especifica el valor de dwIndex. La aplicación puede establecer este parámetro en NULL.
[in] dwReadLen
Tamaño, en bytes, del búfer de información de la cadena de lectura, incluso si se especifica SCS_SETSTR y el búfer contiene una cadena Unicode.
Valor devuelto
Devuelve un valor distinto de cero si es correcto o 0 de lo contrario.
Comentarios
La aplicación puede establecer lpComp, lpRead o ambos. Si la aplicación no especifica un valor para lpComp, debe establecer este parámetro en NULL y dwCompLen en 0.
Cuando la aplicación cambia los atributos, todos los caracteres de una cláusula deben tener el mismo atributo. Los caracteres convertidos deben tener el atributo ATTR_CONVERTED o ATTR_TARGET_CONVERTED. Los caracteres sin convertir deben tener el atributo ATTR_INPUT o ATTR_TARGET_NOTCONVERTED.
Cuando la aplicación cambia la información de la cláusula, solo puede cambiar la cláusula de destino, lo que solo afecta a un límite a la vez. La cláusula de destino tiene el atributo ATTR_TARGET_CONVERTED o ATTR_TARGET_NOTCONVERTED.
Para obtener información adicional sobre los atributos (ATTR_* valores), vea Cadena de composición.
Cuando el IME completa los cambios, envía un mensaje de WM_IME_COMPOSITION a la aplicación para notificarle los cambios.
Windows Me/98, Windows 2000, Windows XP: Los valores SCS_*CONVERTSTRING se usan para la reversión. Solo se pueden usar para un IME que tenga la propiedad SCS_CAP_SETRECONVERTSTRING. La aplicación usa estos valores de la siguiente manera:
- Llame a ImmSetCompositionString con SCS_QUERYRECONVERTSTRING, para que IME ajuste la estructura RECONVERTSTRING para la reversión.
- Llame a ImmSetCompositionString con SCS_SETRECONVERTSTRING, para que IME genere una nueva cadena de composición. Después de esto, lpComp y lpRead indican una estructura RECONVERTSTRING que contiene la composición actualizada y la cadena de lectura. Use el valor de lpRead solo cuando el IME seleccionado tenga SCS_CAP_MAKEREAD establecido.
Nota:
El encabezado imm.h define ImmSetCompositionString como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio],compatibilidad con idiomas del Este asiático instaladas. |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | imm.h (incluye Immdev.h, Windows.h) |
Library | Imm32.lib |
Archivo DLL | Imm32.dll |
Consulte también
Administrador de métodos de entrada