Funzione ImmSetCompositionStringA (imm.h)
Imposta i caratteri, gli attributi e le clausole delle stringhe di composizione e di lettura.
Sintassi
BOOL ImmSetCompositionStringA(
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 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: Chiedere all'IME di riconvertire la stringa usando una struttura RECONVERTSTRING specificata. |
|
Windows Me/98, Windows 2000, Windows XP: Chiedere all'IME di modificare la struttura RECONVERTSTRING . L'applicazione può quindi passare la struttura modificata 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 di 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 viene specificato SCS_SETSTR e il buffer contiene una stringa Unicode.
Valore restituito
Restituisce un valore diverso da zero se ha esito positivo o 0 in caso contrario.
Commenti
L'applicazione può impostare lpComp, lpRead o entrambi. Se l'applicazione non specifica un valore per lpComp, deve impostare questo parametro su NULL e impostare dwCompLen su 0.
Quando l'applicazione modifica gli attributi, tutti i caratteri in una clausola devono avere lo stesso attributo. I caratteri convertiti devono avere l'attributo ATTR_CONVERTED o ATTR_TARGET_CONVERTED. I caratteri non invertiti 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 String di composizione.
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 ricoversione. Possono essere usati solo per un IME con la proprietà SCS_CAP_SETRECONVERTSTRING. L'applicazione usa questi valori come indicato di seguito:
- 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 che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
Requisiti
Client minimo supportato | Windows XP [solo app desktop],supporto per la lingua dell'Asia orientale installato. |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | imm.h (include Immdev.h, Windows.h) |
Libreria | Imm32.lib |
DLL | Imm32.dll |