Função ImmSetCompositionStringA (imm.h)
Define os caracteres, atributos e cláusulas das cadeias de caracteres de composição e leitura.
Sintaxe
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 informação a ser definida. Esse parâmetro pode ter um dos valores a seguir.
Valor | Significado |
---|---|
|
Defina a cadeia de caracteres de composição, a cadeia de caracteres de leitura ou ambas. Pelo menos um dos parâmetros lpComp e lpRead deve indicar uma cadeia de caracteres válida. Se uma das cadeias de caracteres for muito longa, o IME a truncará. |
|
Defina atributos para a cadeia de caracteres de composição, a cadeia de caracteres de leitura ou ambos. Pelo menos um dos parâmetros lpComp e lpRead deve indicar uma matriz de atributo válida. |
|
Defina as informações da cláusula para a cadeia de caracteres de composição, a cadeia de caracteres de leitura ou ambas. Pelo menos um dos parâmetros lpComp e lpRead deve apontar para uma matriz de informações de cláusula válida. |
|
Windows Me/98, Windows 2000, Windows XP: Peça ao IME para inverter a cadeia de caracteres usando uma estrutura RECONVERTSTRING especificada. |
|
Windows Me/98, Windows 2000, Windows XP: Peça ao IME para ajustar a estrutura RECONVERTSTRING . Em seguida, o aplicativo pode passar a estrutura ajustada para essa função usando SCS_SETRECONVERTSTRING. O IME não gera nenhuma mensagem de WM_IME_COMPOSITION . |
[in, optional] lpComp
Ponteiro para um buffer que contém as informações a serem definidas para a cadeia de caracteres de composição, conforme especificado pelo valor de dwIndex.
[in] dwCompLen
Tamanho, em bytes, do buffer de informações para a cadeia de caracteres de composição, mesmo que SCS_SETSTR seja especificado e o buffer contenha uma cadeia de caracteres Unicode.
[in, optional] lpRead
Ponteiro para um buffer que contém as informações a serem definidas para a cadeia de caracteres de leitura, conforme especificado pelo valor de dwIndex. O aplicativo pode definir esse parâmetro como NULL.
[in] dwReadLen
Tamanho, em bytes, do buffer de informações para a cadeia de caracteres de leitura, mesmo que SCS_SETSTR seja especificado e o buffer contenha uma cadeia de caracteres Unicode.
Valor retornado
Retorna um valor diferente de zero se tiver êxito ou 0 de outra forma.
Comentários
O aplicativo pode definir lpComp, lpRead ou ambos. Se o aplicativo não especificar um valor para lpComp, ele deverá definir esse parâmetro como NULL e definir dwCompLen como 0.
Quando o aplicativo está alterando atributos, todos os caracteres em uma cláusula devem ter o mesmo atributo. Os caracteres convertidos devem ter o atributo ATTR_CONVERTED ou ATTR_TARGET_CONVERTED. Caracteres não convertidos devem ter o atributo ATTR_INPUT ou ATTR_TARGET_NOTCONVERTED.
Quando o aplicativo está alterando as informações da cláusula, ele pode alterar apenas a cláusula de destino, afetando apenas um limite de cada vez. A cláusula de destino tem o atributo ATTR_TARGET_CONVERTED ou ATTR_TARGET_NOTCONVERTED.
Para obter informações adicionais sobre atributos (valores ATTR_*), consulte Cadeia de caracteres de composição.
Quando o IME conclui as alterações, ele envia uma mensagem WM_IME_COMPOSITION para o aplicativo para notificá-lo das alterações.
Windows Me/98, Windows 2000, Windows XP: Os valores SCS_*CONVERTSTRING são usados para reconversão. Eles só podem ser usados para um IME que tenha a propriedade SCS_CAP_SETRECONVERTSTRING. O aplicativo usa esses valores da seguinte maneira:
- Chame ImmSetCompositionString com SCS_QUERYRECONVERTSTRING, de modo que o IME ajuste a estrutura RECONVERTSTRING para a reconversão.
- Chame ImmSetCompositionString com SCS_SETRECONVERTSTRING, de modo que o IME gere uma nova cadeia de caracteres de composição. Depois disso, lpComp e lpRead indicam uma estrutura RECONVERTSTRING que contém a composição atualizada e a cadeia de caracteres de leitura. Use o valor de lpRead somente quando o IME selecionado tiver SCS_CAP_MAKEREAD definido.
Observação
O cabeçalho imm.h define ImmSetCompositionString como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho], suporte ao idioma do Leste Asiático instalado. |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | imm.h (inclua Immdev.h, Windows.h) |
Biblioteca | Imm32.lib |
DLL | Imm32.dll |
Confira também
Gerenciador de Métodos de Entrada