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: |
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
Conceitual
Referência