Condividi tramite


Funzione ImmSetCompositionStringW (imm.h)

Imposta i caratteri, gli attributi e le clausole della composizione e della lettura delle stringhe.

Sintassi

BOOL ImmSetCompositionStringW(
                 HIMC   unnamedParam1,
  [in]           DWORD  dwIndex,
  [in, optional] LPVOID lpComp,
  [in]           DWORD  dwCompLen,
  [in, optional] LPVOID lpRead,
  [in]           DWORD  dwReadLen
);

Parametri

unnamedParam1

[in] dwIndex

Tipo di informazioni da impostare. Questo parametro può avere uno dei valori seguenti.

Valore Significato
SCS_SETSTR
Impostare la stringa di composizione, la stringa di lettura o entrambi. Almeno uno dei parametri lpComp e lpRead deve indicare una stringa valida. Se una delle due stringhe è troppo lunga, l'IME lo tronca.
SCS_CHANGEATTR
Impostare gli attributi per la stringa di composizione, la stringa di lettura o entrambi. Almeno uno dei parametri lpComp e lpRead deve indicare una matrice di attributi valida.
SCS_CHANGECLAUSE
Impostare le informazioni sulla clausola per la stringa di composizione, la stringa di lettura o entrambi. Almeno uno dei parametri lpComp e lpRead deve puntare a una matrice di informazioni sulla clausola valida.
SCS_SETRECONVERTSTRING
Windows Me/98, Windows 2000, Windows XP: Chiedi all'IME di riconvertire la stringa usando una struttura RECONVERTSTRING specificata.
SCS_QUERYRECONVERTSTRING
Windows Me/98, Windows 2000, Windows XP: Chiedi all'IME di regolare la struttura RECONVERTSTRING. L'applicazione può quindi passare la struttura regolata in questa funzione usando SCS_SETRECONVERTSTRING. IME non genera messaggi WM_IME_COMPOSITION.

[in, optional] lpComp

Puntatore a un buffer contenente le informazioni da impostare per la stringa di composizione, come specificato dal valore di dwIndex.

[in] dwCompLen

Dimensioni, in byte, del buffer delle informazioni per la stringa di composizione, anche se viene specificato SCS_SETSTR e il buffer contiene una stringa Unicode.

[in, optional] lpRead

Puntatore a un buffer contenente le informazioni da impostare per la stringa di lettura, come specificato dal valore di dwIndex. L'applicazione può impostare questo parametro su NULL.

[in] dwReadLen

Dimensioni, in byte, del buffer delle informazioni per la stringa di lettura, anche se SCS_SETSTR è specificato e il buffer contiene una stringa Unicode.

Valore restituito

Restituisce un valore diverso da zero se ha esito positivo o 0 in caso contrario.

Osservazioni

L'applicazione può impostare lpComp, lpReado entrambi. Se l'applicazione non specifica un valore per lpComp, è necessario impostare questo parametro su NULL e impostare dwCompLen su 0.

Quando l'applicazione modifica gli attributi, tutti i caratteri di una clausola devono avere lo stesso attributo. I caratteri convertiti devono avere l'attributo ATTR_CONVERTED o ATTR_TARGET_CONVERTED. I caratteri non convertiti devono avere l'attributo ATTR_INPUT o ATTR_TARGET_NOTCONVERTED.

Quando l'applicazione modifica le informazioni sulle clausole, può modificare solo la clausola di destinazione, interessando solo un limite alla volta. La clausola di destinazione ha l'attributo ATTR_TARGET_CONVERTED o ATTR_TARGET_NOTCONVERTED.

Per altre informazioni sugli attributi (valori ATTR_*), vedere Composition String.

Quando l'IME completa le modifiche, invia un messaggio di WM_IME_COMPOSITION all'applicazione per notificare le modifiche.

Windows Me/98, Windows 2000, Windows XP: I valori SCS_*CONVERTSTRING vengono usati per la riconciliazione. Possono essere usati solo per un IME con la proprietà SCS_CAP_SETRECONVERTSTRING. L'applicazione usa questi valori come segue:

  1. Chiamare ImmSetCompositionString con SCS_QUERYRECONVERTSTRING, in modo che IME regola la struttura RECONVERTSTRING per la riconversione.
  2. Chiamare ImmSetCompositionString con SCS_SETRECONVERTSTRING, in modo che IME generi una nuova stringa di composizione. Successivamente, lpComp e lpRead indicano una struttura RECONVERTSTRING contenente la composizione aggiornata e la stringa di lettura. Usare il valore di lpRead solo quando l'IME selezionato ha SCS_CAP_MAKEREAD impostato.

Nota

L'intestazione imm.h definisce ImmSetCompositionString come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows XP [solo app desktop],è installato il supporto per la lingua dell'Asia orientale.
server minimo supportato Windows Server 2003 [solo app desktop]
piattaforma di destinazione Finestre
intestazione imm.h (include Immdev.h, Windows.h)
libreria Imm32.lib
dll Imm32.dll

Vedere anche

di Gestione metodi di input

funzioni di Gestione metodi di input

RECONVERTSTRING

WM_IME_COMPOSITION