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 |
---|---|
|
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. |
|
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. |
|
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. |
|
Windows Me/98, Windows 2000, Windows XP: Chiedi all'IME di riconvertire la stringa usando una struttura RECONVERTSTRING specificata. |
|
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:
- Chiamare ImmSetCompositionString con SCS_QUERYRECONVERTSTRING, in modo che IME regola la struttura RECONVERTSTRING per la riconversione.
- 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 |