Compartilhar via


Função ImmSetCompositionStringA (immdev.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
SCS_SETSTR
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á.
SCS_CHANGEATTR
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 de deve indicar uma matriz de atributo válida.
SCS_CHANGECLAUSE
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.
SCS_SETRECONVERTSTRING
Windows Me/98, Windows 2000, Windows XP: Pedir ao IME para reconverter a cadeia de caracteres usando uma estrutura de RECONVERTSTRING especificada.
SCS_QUERYRECONVERTSTRING
Windows Me/98, Windows 2000, Windows XP: Pedir ao IME para ajustar a estrutura de RECONVERTSTRING. Em seguida, o aplicativo pode passar a estrutura ajustada para essa função usando SCS_SETRECONVERTSTRING. O IME não gera nenhuma WM_IME_COMPOSITION mensagens.

[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 da 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 para NULL.

[in] dwReadLen

Tamanho, em bytes, do buffer de informações da cadeia de caracteres de leitura, mesmo que SCS_SETSTR seja especificado e o buffer contenha uma cadeia de caracteres Unicode.

Valor de retorno

Retorna um valor diferente de zero se tiver êxito ou 0 de outra forma.

Observações

O aplicativo pode definir lpComp, lpReadou ambos. Se o aplicativo não especificar um valor para lpComp, ele deverá definir esse parâmetro para 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 string de composição.

Quando o IME conclui as alterações, ele envia uma mensagem WM_IME_COMPOSITION ao 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:

  1. Chame ImmSetCompositionString com SCS_QUERYRECONVERTSTRING, de modo que o IME ajuste a estrutura de RECONVERTSTRING para a reconversão.
  2. Chame ImmSetCompositionString com SCS_SETRECONVERTSTRING, de modo que o IME gere uma nova cadeia de caracteres de composição. Depois disso, lpComp e lpRead indicar 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.

Nota

O cabeçalho immdev.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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows XP [somente aplicativos da área de trabalho], suporte à linguagem do Leste Asiático instalado.
servidor com suporte mínimo Windows Server 2003 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho immdev.h (inclua Immdev.h, Windows.h)
biblioteca Imm32.lib
de DLL Imm32.dll

Consulte também

do Gerenciador de Métodos de Entrada

Funções do Gerenciador de Métodos de Entrada

RECONVERTSTRING

WM_IME_COMPOSITION