Compartir a través de


Función ImmSetCompositionStringA (imm.h)

Establece los caracteres, atributos y cláusulas de la composición y las cadenas de 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 siguientes valores.

Valor Significado
SCS_SETSTR
Establezca la cadena de composición, la cadena de lectura o ambas. Al menos uno de los parámetros de lpComp y lpRead debe indicar una cadena válida. Si alguna cadena es demasiado larga, el IME la trunca.
SCS_CHANGEATTR
Establezca atributos para la cadena de composición, la cadena de lectura o ambas. Al menos uno de los parámetros de lpComp y lpRead debe indicar una matriz de atributos válida.
SCS_CHANGECLAUSE
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 de lpComp y lpRead debe apuntar a una matriz de información de cláusulas válida.
SCS_SETRECONVERTSTRING
Windows Me/98, Windows 2000, Windows XP: Pedir a IME que vuelva a convertir la cadena mediante una estructura RECONVERTSTRING especificada.
SCS_QUERYRECONVERTSTRING
Windows Me/98, Windows 2000, Windows XP: Ask IME to adjust the RECONVERTSTRING structure. A continuación, la aplicación puede pasar la estructura ajustada a esta función mediante SCS_SETRECONVERTSTRING. IME no genera ningún mensaje 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, tal como se especifica en el valor de dwIndex.

[in] dwCompLen

Tamaño, en bytes, del búfer de información de 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 como se especifica en 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 se ejecuta correctamente o 0 de lo contrario.

Observaciones

La aplicación puede establecer lpComp, lpReado ambos. Si la aplicación no especifica un valor para lpComp, debe establecer este parámetro en NULL y establecer 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, solo afectando 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 (valores de ATTR_*), consulte Cadena de composición.

Cuando el IME completa los cambios, envía un mensaje 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:

  1. Llame a ImmSetCompositionString con SCS_QUERYRECONVERTSTRING, de modo que IME ajuste la estructura RECONVERTSTRING de para la reversión.
  2. Llame a ImmSetCompositionString con SCS_SETRECONVERTSTRING, de modo 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 se SCS_CAP_MAKEREAD haya establecido el IME seleccionado.

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 Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows XP [solo aplicaciones de escritorio],compatibilidad con idiomas del Este asiático instaladas.
servidor mínimo admitido Windows Server 2003 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de imm.h (incluya Immdev.h, Windows.h)
biblioteca de Imm32.lib
DLL de Imm32.dll

Consulte también

del Administrador de métodos de entrada de

funciones del Administrador de métodos de entrada de

RECONVERTSTRING

WM_IME_COMPOSITION