Share via


Estrutura IMESTRUCT (ime.h)

Usado por SendIMEMessageEx para especificar a subfunção a ser executada na mensagem IME (Editor de Método de Entrada) e seus parâmetros. Essa estrutura também é usada para receber valores retornados dessas subfunções.

Sintaxe

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

Membros

fnc

Uma subfunção. Um dos valores a seguir.

IME_ENTERWORDREGISTERMODE

Usado para registrar palavras. As palavras são registradas como um aplicativo envia uma palavra e sua leitura. Os membros da estrutura são interpretados da seguinte maneira:

Membro Type Descrição
lParam1 [Windows 3.1] LPARAM A palavra de baixa ordem especifica um identificador para a memória global que contém uma cadeia de caracteres de palavra terminando com 0. A memória global é um bloco de memória alocado especificando os sinalizadores GMEM_MOVEABLE e GMEM_SHARE na função GlobalAlloc .
lParam2 [Windows 3.1] LPARAM A palavra de baixa ordem especifica um identificador para a memória global que contém uma cadeia de caracteres de leitura terminando com 0. A memória global é um bloco de memória alocado especificando os sinalizadores GMEM_MOVEABLE e GMEM_SHARE na função GlobalAlloc
lParam3 [Windows 3.1] LPARAM Deve ser NULL.
lParam1 [Windows NT] LPARAM Especifica um identificador para a memória global que contém uma cadeia de caracteres de palavra terminando com 0. A memória global é um bloco de memória alocado especificando os sinalizadores GMEM_MOVEABLE e GMEM_SHARE na função GlobalAlloc .
lParam2 [Windows NT] LPARAM Especifica um identificador para a memória global que contém uma cadeia de caracteres de leitura que termina com 0. A memória global é um bloco de memória alocado especificando os sinalizadores GMEM_MOVEABLE e GMEM_SHARE na função GlobalAlloc .
lParam3 [Windows NT] LPARAM Usado para especificar informações sobre uma parte da fala. Como essas informações não podem ser especificadas com a especificação atual do Windows, NULL é definido aqui.
 

O valor retornado indica o resultado do registro de palavras. TRUE se o registro tiver sido processado normalmente; caso contrário, FALSE.

Se informações como uma parte da fala forem necessárias, uma caixa de diálogo deverá ser exibida para solicitar entrada ao usuário. NULL pode ser especificado nos membros lParam1 e lParam2; nesse caso, nada deve ser exibido no campo de entrada associado na caixa de diálogo.

IME_GETCONVERSIONMODE

Adquire o modo de conversão atual do IME. Esse subprograma não usa parâmetros.

Isso é o mesmo que IME_GET_MODE.

Retorna o modo de conversão atual do IME como uma combinação de IME_MODE_ALPHANUMERIC para IME_MODE_NOCODEINPUT. Os modos de conversão são os seguintes:

Modo de Conversão Mode
IME_MODE_ALPHANUMERIC Alfanumérico
IME_MODE_KATAKANA Katakana
IME_MODE_HIRAGANA Hiragana
IME_MODE_SBCSCHAR Caractere de byte único
IME_MODE_DBCSCHAR Caractere de byte duplo
IME_MODE_ROMAN Personagem romano
IME_MODE_NOROMAN Caractere não romano
IME_MODE_CODEINPUT Entrada de código
IME_MODE_NOCODEINPUT Entrada sem código
 

IME_GET_MODE

O mesmo que IME_GETCONVERSIONMODE.

IME_MOVECONVERTWINDOW

O mesmo que IME_SETCONVERSIONWINDOW.

IME_SETCONVERSIONFONTEX

Uma fonte a ser usada para exibir uma cadeia de caracteres indeterminada que aparece na janela de conversão. Os membros da estrutura são interpretados da seguinte maneira:

Membro Type Descrição
lParam1 [Windows 3.1] LPARAM A palavra de baixa ordem especifica um identificador para a memória global que contém uma estrutura LOGFONT que especifica a fonte lógica. A memória global é um bloco de memória alocado especificando os sinalizadores GMEM_MOVEABLE e GMEM_SHARE na função GlobalAlloc . NULL indica uma fonte do sistema.
lParam1 [Windows NT] LPARAM Especifica um identificador para a memória global que contém uma estrutura LOGFONT que especifica a fonte lógica. A memória global é um bloco de memória alocado especificando os sinalizadores GMEM_MOVEABLE e GMEM_SHARE na função GlobalAlloc . NULL indica uma fonte do sistema.
 

Essa subfunção não tem nenhum valor retornado.

A fonte especificada por IME_SETCONVERSIONFONTEX só pode ser usada para exibir cadeias de caracteres indeterminadas.

Para exibir cadeias de caracteres indeterminadas na posição padrão, use uma fonte do sistema. Se a posição de exibição não for mais a posição padrão, habilite a fonte especificada anteriormente.

A memória global que contém a estrutura LOGFONT é liberada pelo aplicativo.

Se o IME que exibe atualmente a janela de conversão receber o comando IME_SETCONVERSIONFONTEX e, como resultado do processamento do comando da janela de conversão, o IME deverá enviar uma mensagem WM_IME_REPORT:IR_CHANGECONVERT. Essa mensagem não deverá ser enviada se a fonte especificada por IME_SETCONVERSIONFONTEX for a mesma que está sendo usada pelo IME.

IME_SETCONVERSIONMODE

Define o modo de conversão do IME. O membro wParam especifica um ou mais dos seguintes valores:

Valor Significado
IME_MODE_ALPHANUMERIC Modo de conversão alfanumérica. Esse valor não pode ser usado com IME_MODE_KATAKANA ou IME_MODE_HIRAGANA.
IME_MODE_KATAKANA Modo de conversão katakana. Esse valor não pode ser usado com IME_MODE_ALPHANUMERIC ou IME_MODE_HIRAGANA.
IME_MODE_HIRAGANA Modo de conversão hiragana. Esse valor não pode ser usado com IME_MODE_ALPHANUMERIC ou IME_MODE_HIRAGANA.
IME_MODE_SBCSCHAR Modo de conversão de caracteres de byte único. Esse parâmetro não pode ser usado com IME_MODE_DBCSCHAR.
IME_MODE_DBCSCHAR Modo de conversão de caracteres de byte duplo. Esse parâmetro não pode ser usado com IME_MODE_SBCSCHAR.
IME_MODE_ROMAN Modo de conversão de caracteres romano. Esse parâmetro não pode ser usado com IME_MODE_NOROMAN.
IME_MODE_NOROMAN Modo de conversão de caracteres não romano. Esse parâmetro não pode ser usado com IME_MODE_ROMAN.
IME_MODE_CODEINPUT Modo de conversão de entrada de código. Esse parâmetro não pode ser usado com IME_MODE_NOCODEINPUT. A forma como um IME opera no modo de entrada de código depende do IME específico.
IME_MODE_NOCODEINPUT Modo de conversão de entrada sem código. Esse parâmetro não pode ser usado com IME_MODE_CODEINPUT.
 

O valor retornado indica se o modo de conversão fornecido foi configurado com êxito. Ele retornará o estado do modo de conversão anteriormente em vigor se o novo modo de conversão tiver sido configurado; caso contrário, NULL.

IME_SETCONVERSIONWINDOW

O tamanho e a posição do retângulo delimitador para o IME e a posição inicial da janela de conversão. O IME exibe uma cadeia de caracteres indeterminada na posição especificada por essa subfunção.

O membro wParam especifica um dos seguintes valores:

Valor Significado
MCW_DEFAULT Exibe a janela de conversão na posição padrão, que geralmente é a parte inferior da tela.

Se o estilo MCW_DEFAULT for especificado em uma mensagem IME_SETCONVERSIONWINDOW, quando o IME exibir ou desenhar uma janela de conversão na posição padrão, ele não deverá enviar uma mensagem IR_OPENCONVERT, IR_CHANGECONVERT, IR_FULLCONVERT ou IR_CLOSECONVERT.

MCW_WINDOW Exibe a janela de conversão na coordenada fornecida no membro lParam1 , na janela especificada no parâmetro wParam da mensagem WM_CONVERTREQUEST ou WM_CONVERTREQUESTEX. O valor em lParam1 indica as coordenadas relativas ao canto superior esquerdo da janela, com a palavra de baixa ordem representando a coordenada X e a palavra de alta ordem a coordenada Y. O retângulo delimitador é o retângulo do cliente da janela fornecida e é a maneira mais típica de invocar uma conversão kana-to-kanji.

Se o estilo MCW_WINDOW for especificado em uma mensagem IME_SETCONVERSIONWINDOW, o IME deverá enviar uma mensagem IR_OPENCOVERT se a janela de conversão status tiver sido alterada de fechada para aberta. Se a janela de conversão status tiver sido alterada de aberta para fechada, o IME deverá enviar uma mensagem IR_CLOSECONVERT. No entanto, há uma exceção. Consulte IME_WINDOWUPDATE para obter detalhes.

MCW_WINDOW | MCW_RECT O mesmo que MCW_WINDOW, exceto que o retângulo delimitador é especificado pelos membros lParam2 e lParam3 . O membro lParam2 especifica o ponto superior esquerdo e lParam3 especifica o ponto inferior direito, cada um com a palavra de baixa ordem que representa a coordenada X e a palavra de alta ordem a coordenada Y. As coordenadas são relativas ao canto superior esquerdo da janela.
MCW_SCREEN Exibe a janela de conversão com seu canto superior esquerdo designado pelo membro lParam1 . O membro lParam1 indica coordenadas absolutas com a origem no canto superior esquerdo da tela. A palavra de baixa ordem representa a coordenada X e a palavra de alta ordem a coordenada Y. O retângulo delimitador é a tela inteira.

Se o estilo MCW_SCREEN for especificado em uma mensagem IME_SETCONVERSIONWINDOW, o IME deverá enviar uma mensagem IR_OPENCOVERT se a janela de conversão status tiver sido alterada de fechada para aberta. Se a janela de conversão status tiver sido alterada de aberta para fechada, o IME deverá enviar uma mensagem IR_CLOSECONVERT. No entanto, há uma exceção. Consulte IME_WINDOWUPDATE para obter detalhes.

MCW_SCREEN | MCW_RECT O mesmo que MCW_SCREEN exceto que o retângulo delimitador é especificado pelos membros lParam2 e lParam3 . O membro lParam2 especifica o ponto superior esquerdo e lParam3 especifica o ponto inferior direito, cada um com a palavra de baixa ordem que representa a coordenada X e a palavra de alta ordem a coordenada Y. As coordenadas são coordenadas absolutas com a origem no canto superior esquerdo da tela.
MCW_HIDDEN [Windows 3.1] Quando esse sinalizador é especificado, o IME não exibe a janela de conversão. Em vez disso, o próprio aplicativo exibe cadeias de caracteres indeterminados. O membro lParam1 especifica as coordenadas da posição do cursor que está sendo exibida pelo aplicativo ou pelo ponto de interesse. Os membros lParam2 e lParam3 especificam uma região em que nenhuma exibição está habilitada pelo IME. Um IME que exibe candidatos de cadeia de caracteres determinada em uma janela pop-up é capaz de usar essas informações para determinar onde exibir a janela de candidatos de cadeia de caracteres determinada. Uma janela para exibir cadeias de caracteres candidatas é considerada como uma janela do sistema. Portanto, ele depende do IME em relação a exibir essa janela, onde e como exibir a janela e qual entrada de teclado usar. Os três membros lParam1, lParam2 e lParam3 especificam as coordenadas absolutas do canto superior esquerdo da tela, cada um com a palavra de baixa ordem que representa a coordenada X e a palavra de alta ordem a coordenada Y.

Quando o sinalizador MCW_HIDDEN é especificado, o IME envia uma mensagem IR_UNDETERMINE para solicitar que o aplicativo exiba a cadeia de caracteres indeterminada. O próprio aplicativo exibe a cadeia de caracteres indeterminada contida nesta mensagem.

Depois que o sinalizador MCW_HIDDEN for especificado, o IME não enviará uma mensagem IR_OPENCONVERT, IR_CHANGECONVERT ou IR_CLOSECONVERT.

Se um aplicativo especificar MCW_HIDDEN e, ao mesmo tempo, solicitar um retângulo muito grande para exibir a janela candidata para uma cadeia de caracteres determinada, ele deverá ser tratado como um erro. O código de erro deve ser IME_RD_TOOLONG.

Se o estilo MCW_HIDDEN for especificado em uma mensagem IME_SETCONVERSIONWINDOW, o IME nunca deverá enviar uma IR_OPENCONVERT, IR_CHANGECONVERT, IR_FULLCONVERT ou IR_CLOSECONVERT.

MCW_VERTICAL Informa ao IME que o aplicativo está exibindo cadeias de caracteres no formato de escrita vertical. Se esse sinalizador for especificado, a janela de conversão será exibida para gravação vertical, com a posição designada pelo membro lParam1 sendo o canto superior direito. Esse sinalizador pode ser especificado com MCW_WINDOW, MCW_WINDOW|MCW_RECT, MCW_SCREEN ou MCW_SCREEN|MCW_RECT. Um IME deve dar suporte a MCW_VERTICAL. Se MCW_VERTICAL for especificado e a fonte que está sendo selecionada não for para gravação vertical, o IME usará a fonte de gravação vertical padrão. Essa fonte padrão é criada da seguinte maneira:
  1. As informações de fonte são recuperadas na estrutura LOGFONT pela função GetObject usando o identificador de fonte de SYSTEM_FONT.
  2. A fonte é criada adicionando um e comercial (@) no início do nome da face e definindo o escape e a orientação como 270 graus.
 

O valor retornado indica se o comando foi executado. TRUE se a execução do comando foi bem-sucedida; caso contrário, FALSE.

Se uma cadeia de caracteres indeterminada parecer estourar o retângulo delimitador, o IME deverá emitir a mensagem de relatório WM_IME_REPORT:IR_FULLCONVERT para o aplicativo antes de exibir essa cadeia de caracteres. Se o aplicativo não manipular essa mensagem, o processamento subsequente para a exibição não será formulado nessa especificação, mas será deixado para o IME. Por exemplo, a cadeia de caracteres indeterminada pode ser rolada dentro do retângulo delimitador ou pode ser movida temporariamente para a posição padrão.

Se uma mensagem IME_SETCONVERSIONWINDOW for chamada quando o IME estiver segurando uma cadeia de caracteres indeterminada, o IME deverá emitir uma mensagem WM_IME_REPORT:IR_CLOSECONVERT; se a cadeia de caracteres se ajustar à janela fornecida como um parâmetro, o IME deverá emitir uma mensagem WM_IME_REPORT:IR_OPENCONVERT. Somente então a janela de conversão deve ser desenhada. Se a cadeia de caracteres não caber na janela, o IME deverá emitir uma mensagem WM_IME_REPORT:IR_FULLCONVERT.

A posição do retângulo delimitador pode ser especificada fora da área de tela física. Se todo o retângulo delimitador estiver fora da tela física, cadeias de caracteres indeterminados não deverão ser exibidas. Se parte do retângulo delimitador estiver fora da tela física, o IME cortará o retângulo delimitador para que nenhuma parte da cadeia de caracteres indeterminada estouro a tela e também ajuste a posição inicial da exibição.

É recomendável não definir o número máximo de linhas ou o máximo de caracteres exibidos na janela de conversão.

Se a janela de conversão se sobrepor a uma janela do sistema, a janela de conversão deverá estar visível. Por exemplo, a janela de conversão pode receber prioridade máxima para exibição ou a janela do sistema pode ser movida para outro lugar.

O IME deverá enviar uma mensagem IR_CHANGECONVERT se a janela de conversão tiver sido alterada em tamanho, conteúdo de exibição ou cor de exibição. No entanto, se uma cadeia de caracteres indeterminada não se ajustar em uma janela especificada, o IME deverá enviar uma mensagem IR_FULLCONVERT em vez de IR_CHANGECONVERT.

Quando o IME tiver mudado do modo MCW_WINDOW ou MCW_SCREEN para MCW_DEFAULT, ele deverá enviar uma mensagem IR_CLOSECONVERT se existir uma cadeia de caracteres indeterminada.

Quando o IME tiver mudado do modo MCW_WINDOW ou MCW_SCREEN para MCW_HIDDEN, ele deverá enviar uma mensagem IR_CLOSECONVERT se existir uma cadeia de caracteres indeterminada.

Quando o IME tiver mudado do modo de MCW_HIDDEN para MCW_DEFAULT, MCW_SCREEN ou MCW_WINDOW, o IME deverá transmitir uma mensagem IR_UNDETERMINE com cadeia de caracteres indeterminada = 0 e cadeia de caracteres determinada = 0.

IME_SETLEVEL

Subfunção específica de coreano que define o nível de IME no aplicativo atual. O membro wParam aceita um dos seguintes valores de nível.

Nível Significado
1 Sem suporte para IME. Todas as mensagens específicas do IME são ignoradas.
2 Suporte parcial ao IME. Dá suporte a um subconjunto de comportamento IME, incluindo a posição da composição ou janelas candidatas e o modo de entrada ou status.
3 Suporte completo ao IME.
 

IME_SETOPEN

Define o status do recurso de conversão kana-to-kanji do IME.

O membro wParam é definido como diferente de zero para abrir o IME e zero para fechar o IME

O valor retornado indica o status anterior do recurso de conversão kana-to-kanji. Retorna TRUE se aberto; caso contrário, FALSE.

Uma cadeia de caracteres indeterminada não deve ser determinada se o recurso de conversão kana-to-kanji foi fechado por IME_SETOPEN.

Quando o recurso de conversão kana-to-kanji deve ser fechado por IME_SETOPEN, o IME deverá enviar uma mensagem IR_CLOSECONVERT se o IME estiver no modo MCW_WINDOW ou MCW-SCREEN e se uma janela de conversão estiver aberta. No entanto, o IME não precisará emitir IR_CLOSECONVERT se estiver no modo MCW_HIDDEN e se houver uma cadeia de caracteres indeterminada.

IME_SET_MODEK

Versão específica do coreano do IME_SETCONVERSIONMODE.

wParam

O uso depende da subfunção especificada em fnc.

wCount

O uso depende da subfunção especificada em fnc.

dchSource

O uso depende da subfunção especificada em fnc.

dchDest

O uso depende da subfunção especificada em fnc.

lParam1

O uso depende da subfunção especificada em fnc.

lParam2

O uso depende da subfunção especificada em fnc.

lParam3

O uso depende da subfunção especificada em fnc.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho ime.h

Confira também

Área de transferência

Conceitual

Referência

Setclipboarddata