Estructura IMESTRUCT (ime.h)

Usado por SendIMEMessageEx para especificar la subfunción que se va a ejecutar en el mensaje Editor de métodos de entrada (IME) y sus parámetros. Esta estructura también se usa para recibir valores devueltos de esas subfunciones.

Sintaxis

typedef struct tagIMESTRUCT {
  UINT   fnc;
  WPARAM wParam;
  UINT   wCount;
  UINT   dchSource;
  UINT   dchDest;
  LPARAM lParam1;
  LPARAM lParam2;
  LPARAM lParam3;
} IMESTRUCT, *PIMESTRUCT, *NPIMESTRUCT, *LPIMESTRUCT;

Miembros

fnc

Una subfunción. Uno de los siguientes valores.

IME_ENTERWORDREGISTERMODE

Se usa para registrar palabras. Las palabras se registran como una aplicación envía una palabra y su lectura. Los miembros de la estructura se interpretan de la siguiente manera:

Miembro Tipo Descripción
lParam1 [Windows 3.1] LPARAM La palabra de orden bajo especifica un identificador para la memoria global que contiene una cadena de palabras que termina con 0. La memoria global es un bloque de memoria asignado especificando las marcas de GMEM_MOVEABLE y GMEM_SHARE en la función GlobalAlloc .
lParam2 [Windows 3.1] LPARAM La palabra de orden bajo especifica un identificador para la memoria global que contiene una cadena de lectura que termina con 0. La memoria global es un bloque de memoria asignado especificando las marcas de GMEM_MOVEABLE y GMEM_SHARE en la función GlobalAlloc .
lParam3 [Windows 3.1] LPARAM Debe ser NULL.
lParam1 [Windows NT] LPARAM Especifica un identificador para la memoria global que contiene una cadena de palabras que termina con 0. La memoria global es un bloque de memoria asignado especificando las marcas de GMEM_MOVEABLE y GMEM_SHARE en la función GlobalAlloc .
lParam2 [Windows NT] LPARAM Especifica un identificador para la memoria global que contiene una cadena de lectura que termina con 0. La memoria global es un bloque de memoria asignado especificando las marcas de GMEM_MOVEABLE y GMEM_SHARE en la función GlobalAlloc .
lParam3 [Windows NT] LPARAM Se usa para especificar información sobre una parte de la voz. Dado que esta información no se puede especificar con la especificación actual de Windows, null se establece aquí.
 

El valor devuelto indica el resultado del registro de palabras. TRUE si el registro se ha procesado normalmente; de lo contrario, FALSE.

Si se necesita información como una parte de la voz, se debe mostrar un cuadro de diálogo para solicitar al usuario la entrada. Se puede especificar NULL en los miembros lParam1 y lParam2; en este caso, no se debe mostrar nada en el campo de entrada asociado en el cuadro de diálogo.

IME_GETCONVERSIONMODE

Adquiere el modo de conversión actual del IME. Este subprograma no usa parámetros.

Esto es lo mismo que IME_GET_MODE.

Devuelve el modo de conversión actual del IME como una combinación de IME_MODE_ALPHANUMERIC a IME_MODE_NOCODEINPUT. Los modos de conversión son los siguientes:

Modo de conversión Mode
IME_MODE_ALPHANUMERIC Alfanuméricas
IME_MODE_KATAKANA Katakana
IME_MODE_HIRAGANA Hiragana
IME_MODE_SBCSCHAR Carácter de un solo byte
IME_MODE_DBCSCHAR Carácter de doble byte
IME_MODE_ROMAN Carácter romano
IME_MODE_NOROMAN Carácter no romano
IME_MODE_CODEINPUT Entrada de código
IME_MODE_NOCODEINPUT Entrada sin código
 

IME_GET_MODE

Igual que IME_GETCONVERSIONMODE.

IME_MOVECONVERTWINDOW

Igual que IME_SETCONVERSIONWINDOW.

IME_SETCONVERSIONFONTEX

Fuente que se va a usar para mostrar una cadena sin determinar que aparece en la ventana de conversión. Los miembros de la estructura se interpretan de la siguiente manera:

Miembro Tipo Descripción
lParam1 [Windows 3.1] LPARAM La palabra de orden bajo especifica un identificador para la memoria global que contiene una estructura LOGFONT que especifica la fuente lógica. La memoria global es un bloque de memoria asignado especificando las marcas de GMEM_MOVEABLE y GMEM_SHARE en la función GlobalAlloc . NULL indica una fuente del sistema.
lParam1 [Windows NT] LPARAM Especifica un identificador para la memoria global que contiene una estructura LOGFONT que especifica la fuente lógica. La memoria global es un bloque de memoria asignado especificando las marcas de GMEM_MOVEABLE y GMEM_SHARE en la función GlobalAlloc . NULL indica una fuente del sistema.
 

Esta subfunción no tiene ningún valor devuelto.

La fuente especificada por IME_SETCONVERSIONFONTEX solo se puede usar para mostrar cadenas no definidas.

Para mostrar cadenas no definidas en la posición predeterminada, use una fuente del sistema. Si la posición de visualización ya no es la posición predeterminada, habilite la fuente especificada anteriormente.

La aplicación libera la memoria global que contiene la estructura LOGFONT .

Si el IME que muestra actualmente la ventana de conversión recibe el comando IME_SETCONVERSIONFONTEX y, como resultado del procesamiento del comando, la ventana de conversión ha cambiado, el IME debe enviar un mensaje WM_IME_REPORT:IR_CHANGECONVERT. Este mensaje no debe enviarse si la fuente especificada por IME_SETCONVERSIONFONTEX es la misma que la que usa el IME.

IME_SETCONVERSIONMODE

Establece el modo de conversión del IME. El miembro wParam especifica uno o varios de los valores siguientes:

Valor Significado
IME_MODE_ALPHANUMERIC Modo de conversión alfanumérica. Este valor no se puede usar con IME_MODE_KATAKANA o IME_MODE_HIRAGANA.
IME_MODE_KATAKANA Modo de conversión katakana. Este valor no se puede usar con IME_MODE_ALPHANUMERIC o IME_MODE_HIRAGANA.
IME_MODE_HIRAGANA Modo de conversión hiragana. Este valor no se puede usar con IME_MODE_ALPHANUMERIC o IME_MODE_HIRAGANA.
IME_MODE_SBCSCHAR Modo de conversión de caracteres de un solo byte. Este parámetro no se puede usar con IME_MODE_DBCSCHAR.
IME_MODE_DBCSCHAR Modo de conversión de caracteres de doble byte. Este parámetro no se puede usar con IME_MODE_SBCSCHAR.
IME_MODE_ROMAN Modo de conversión de caracteres romanos. Este parámetro no se puede usar con IME_MODE_NOROMAN.
IME_MODE_NOROMAN Modo de conversión de caracteres no romanos. Este parámetro no se puede usar con IME_MODE_ROMAN.
IME_MODE_CODEINPUT Modo de conversión de entrada de código. Este parámetro no se puede usar con IME_MODE_NOCODEINPUT. El funcionamiento de un IME en el modo de entrada de código depende del IME determinado.
IME_MODE_NOCODEINPUT Modo de conversión de entrada no codificada. Este parámetro no se puede usar con IME_MODE_CODEINPUT.
 

El valor devuelto indica si el modo de conversión especificado se ha configurado correctamente. Devuelve el estado del modo de conversión anteriormente en vigor si se ha configurado el nuevo modo de conversión; en caso contrario, NULL.

IME_SETCONVERSIONWINDOW

Tamaño y posición del rectángulo delimitador del IME y la posición inicial de la ventana de conversión. El IME muestra una cadena no determinada en la posición especificada por esta subfunción.

El miembro wParam especifica uno de los valores siguientes:

Valor Significado
MCW_DEFAULT Muestra la ventana de conversión en la posición predeterminada, que suele ser la parte inferior de la pantalla.

Si el estilo de MCW_DEFAULT se especifica en un mensaje de IME_SETCONVERSIONWINDOW, cuando el IME muestra o dibuja una ventana de conversión en la posición predeterminada, no debe enviar un mensaje de IR_OPENCONVERT, IR_CHANGECONVERT, IR_FULLCONVERT o IR_CLOSECONVERT.

MCW_WINDOW Muestra la ventana de conversión en la coordenada especificada en el miembro lParam1 , en la ventana especificada en el parámetro wParam del mensaje WM_CONVERTREQUEST o WM_CONVERTREQUESTEX. El valor de lParam1 indica las coordenadas relativas a la esquina superior izquierda de la ventana, con la palabra de orden bajo que representa la coordenada X y la palabra de orden superior de la coordenada Y. El rectángulo delimitador es el rectángulo de cliente de la ventana especificada y es la forma más típica de invocar una conversión kana a kanji.

Si el estilo de MCW_WINDOW se especifica en un mensaje de IME_SETCONVERSIONWINDOW, el IME debe enviar un mensaje de IR_OPENCOVERT si el estado de la ventana de conversión ha cambiado de cerrado a abierto. Si el estado de la ventana de conversión ha cambiado de abierto a cerrado, el IME debe enviar un mensaje de IR_CLOSECONVERT. Sin embargo, hay una excepción. Consulte IME_WINDOWUPDATE para obtener más información.

MCW_WINDOW | MCW_RECT Igual que MCW_WINDOW excepto que los miembros lParam2 y lParam3 especifican el rectángulo delimitador. El miembro lParam2 especifica el punto superior izquierdo y lParam3 especifica el punto inferior derecho, cada uno con la palabra de orden bajo que representa la coordenada X y la palabra de orden superior la coordenada Y. Las coordenadas son relativas a la parte superior izquierda de la ventana.
MCW_SCREEN Muestra la ventana de conversión con su esquina superior izquierda designada por el miembro lParam1 . El miembro lParam1 indica coordenadas absolutas con el origen en la esquina superior izquierda de la pantalla. La palabra de orden bajo representa la coordenada X y la palabra de orden superior la coordenada Y. El rectángulo delimitador es la pantalla completa.

Si el estilo de MCW_SCREEN se especifica en un mensaje de IME_SETCONVERSIONWINDOW, el IME debe enviar un mensaje de IR_OPENCOVERT si el estado de la ventana de conversión ha cambiado de cerrado a abierto. Si el estado de la ventana de conversión ha cambiado de abierto a cerrado, el IME debe enviar un mensaje de IR_CLOSECONVERT. Sin embargo, hay una excepción. Consulte IME_WINDOWUPDATE para obtener más información.

MCW_SCREEN | MCW_RECT Igual que MCW_SCREEN excepto que los miembros lParam2 y lParam3 especifican el rectángulo delimitador. El miembro lParam2 especifica el punto superior izquierdo y lParam3 especifica el punto inferior derecho, cada uno con la palabra de orden bajo que representa la coordenada X y la palabra de orden superior la coordenada Y. Las coordenadas son coordenadas absolutas con el origen en la parte superior izquierda de la pantalla.
MCW_HIDDEN [Windows 3.1] Cuando se especifica esta marca, el IME no muestra la ventana de conversión. En su lugar, la propia aplicación muestra cadenas no determinadas. El miembro lParam1 especifica las coordenadas de la posición del cursor que muestra la aplicación o el punto de interés. Los miembros lParam2 y lParam3 especifican una región en la que el IME no habilita ninguna presentación. Un IME que muestra candidatos de cadena determinados en una ventana emergente puede usar estos fragmentos de información para determinar dónde mostrar la ventana de candidatos de cadena determinados. Una ventana para mostrar cadenas candidatas se considera una ventana del sistema. Por lo tanto, depende del IME con respecto a si se debe mostrar dicha ventana, dónde y cómo mostrar la ventana, y qué entrada de teclado se va a usar. Los tres miembros lParam1, lParam2 y lParam3 especifican las coordenadas absolutas de la parte superior izquierda de la pantalla, cada una con la palabra de orden bajo que representa la coordenada X y la palabra de orden superior la coordenada Y.

Cuando se especifica la marca MCW_HIDDEN, el IME envía un mensaje de IR_UNDETERMINE para solicitar que la aplicación muestre la cadena no determinada. La propia aplicación muestra la cadena no determinada contenida en este mensaje.

Una vez especificada la marca MCW_HIDDEN, el IME no envía un mensaje de IR_OPENCONVERT, IR_CHANGECONVERT o IR_CLOSECONVERT.

Si una aplicación especifica MCW_HIDDEN y, al mismo tiempo, solicita un rectángulo demasiado grande para mostrar la ventana candidata para una cadena determinada, se debe tratar como un error. El código de error debe ser IME_RD_TOOLONG.

Si el estilo de MCW_HIDDEN se especifica en un mensaje de IME_SETCONVERSIONWINDOW, el IME nunca debe enviar un IR_OPENCONVERT, IR_CHANGECONVERT, IR_FULLCONVERT o IR_CLOSECONVERT.

MCW_VERTICAL Indica al IME que la aplicación muestra cadenas de caracteres en formato de escritura vertical. Si se especifica esta marca, se muestra la ventana de conversión para la escritura vertical, con la posición designada por el miembro lParam1 que es la esquina superior derecha. Esta marca se puede especificar con MCW_WINDOW, MCW_WINDOW|MCW_RECT, MCW_SCREEN o MCW_SCREEN|MCW_RECT. Un IME debe admitir MCW_VERTICAL. Si se especifica MCW_VERTICAL y la fuente seleccionada no es para la escritura vertical, el IME usa la fuente de escritura vertical predeterminada. Esta fuente predeterminada se crea de la siguiente manera:
  1. La función GetObject recupera la información de fuente en la estructura LOGFONT mediante el identificador de fuente de SYSTEM_FONT.
  2. La fuente se crea agregando una y comercial (@) al principio del nombre de la cara y estableciendo el escape y la orientación en 270 grados.
 

El valor devuelto indica si se ha ejecutado el comando. TRUE si la ejecución del comando se realizó correctamente; de lo contrario, FALSE.

Si una cadena no determinada parece desbordar el rectángulo delimitador, el IME debe emitir el mensaje de informe WM_IME_REPORT:IR_FULLCONVERT a la aplicación antes de mostrar esa cadena. Si la aplicación no controla este mensaje, el procesamiento posterior de la pantalla no se formula en esta especificación, pero se deja al IME. Por ejemplo, la cadena no determinada puede desplazarse dentro del rectángulo delimitador o se puede mover temporalmente a la posición predeterminada.

Si se llama a un mensaje de IME_SETCONVERSIONWINDOW cuando el IME contiene una cadena no determinada, el IME debe emitir un mensaje WM_IME_REPORT:IR_CLOSECONVERT; si la cadena se ajusta a la ventana especificada como parámetro, el IME debe emitir un mensaje WM_IME_REPORT:IR_OPENCONVERT. Solo entonces se debe dibujar la ventana de conversión. Si la cadena no cabe en la ventana, el IME debe emitir un mensaje WM_IME_REPORT:IR_FULLCONVERT.

La posición del rectángulo delimitador se puede especificar fuera del área de pantalla física. Si el rectángulo delimitador completo está fuera de la pantalla física, no se deben mostrar cadenas no definidas. Si parte del rectángulo delimitador está fuera de la pantalla física, el IME recorta el rectángulo delimitador para que ninguna parte de la cadena no definida desborda la pantalla y también ajuste la posición inicial de la pantalla.

Se recomienda no establecer el número máximo de líneas o caracteres máximos mostrados en la ventana de conversión.

Si la ventana de conversión se superpone a una ventana del sistema, la ventana de conversión debe estar visible. Por ejemplo, la ventana de conversión puede tener prioridad máxima para mostrar o la ventana del sistema se puede mover en otro lugar.

El IME debe enviar un mensaje de IR_CHANGECONVERT si la ventana de conversión ha cambiado en tamaño, contenido para mostrar o color de presentación. Sin embargo, si una cadena no determinada no cabe en una ventana especificada, el IME debe enviar un mensaje de IR_FULLCONVERT en lugar de IR_CHANGECONVERT.

Cuando el IME ha cambiado del modo de MCW_WINDOW o MCW_SCREEN a MCW_DEFAULT, debe enviar un mensaje de IR_CLOSECONVERT si existe una cadena no definida.

Cuando el IME ha cambiado del modo de MCW_WINDOW o MCW_SCREEN a MCW_HIDDEN, debe enviar un mensaje de IR_CLOSECONVERT si existe una cadena no definida.

Cuando el IME ha cambiado del modo de MCW_HIDDEN a MCW_DEFAULT, MCW_SCREEN o MCW_WINDOW, el IME debe transmitir un mensaje de IR_UNDETERMINE con una cadena no definida = 0 y una cadena determinada = 0.

IME_SETLEVEL

Subfunción específica de coreano que establece el nivel de IME en la aplicación actual. El miembro wParam acepta uno de los siguientes valores de nivel.

Nivel Significado
1 No hay compatibilidad con IME. Se omiten todos los mensajes específicos de IME.
2 Compatibilidad parcial con IME. Admite un subconjunto del comportamiento de IME, incluida la posición de las ventanas de composición o candidatos y el modo o estado de entrada.
3 Compatibilidad completa con IME.
 

IME_SETOPEN

Establece el estado de la característica de conversión kana-to-kanji del IME.

El miembro wParam se establece en distinto de cero para abrir el IME y cero para cerrar el IME.

El valor devuelto indica el estado anterior de la característica de conversión kana-to-kanji. Devuelve TRUE si está abierto; de lo contrario, FALSE.

No se debe determinar una cadena no determinada si la característica de conversión kana-to-kanji se ha cerrado mediante IME_SETOPEN.

Cuando IME_SETOPEN cierre la característica de conversión kana-to-kanji, el IME debe enviar un mensaje de IR_CLOSECONVERT si el IME está en modo MCW_WINDOW o MCW-SCREEN y si está abierta una ventana de conversión. Sin embargo, el IME no necesita emitir IR_CLOSECONVERT si está en modo MCW_HIDDEN y si existe una cadena no determinada.

IME_SET_MODEK

Versión específica de coreano de IME_SETCONVERSIONMODE.

wParam

El uso depende de la subfunción especificada en fnc.

wCount

El uso depende de la subfunción especificada en fnc.

dchSource

El uso depende de la subfunción especificada en fnc.

dchDest

El uso depende de la subfunción especificada en fnc.

lParam1

El uso depende de la subfunción especificada en fnc.

lParam2

El uso depende de la subfunción especificada en fnc.

lParam3

El uso depende de la subfunción especificada en fnc.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado ime.h

Consulte también

Portapapeles

Conceptual

Referencia

SetClipboardData