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
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 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: Peça ao IME para inverter a cadeia de caracteres usando uma estrutura RECONVERTSTRING especificada.
SCS_QUERYRECONVERTSTRING
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:

  1. Chame ImmSetCompositionString com SCS_QUERYRECONVERTSTRING, de modo que o IME ajuste a estrutura 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 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

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

RECONVERTSTRING

WM_IME_COMPOSITION