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
SCS_SETSTR
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.
SCS_CHANGEATTR
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.
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 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: Pida a IME que vuelva a convertir la cadena mediante una estructura RECONVERTSTRING especificada.
SCS_QUERYRECONVERTSTRING
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:

  1. Llame a ImmSetCompositionString con SCS_QUERYRECONVERTSTRING, para que IME ajuste la estructura RECONVERTSTRING para la reversión.
  2. 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

Funciones del Administrador de métodos de entrada

RECONVERTSTRING

WM_IME_COMPOSITION