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
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 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: Chiedere all'IME di riconvertire la stringa usando una struttura RECONVERTSTRING specificata.
SCS_QUERYRECONVERTSTRING
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:

  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 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

Vedi anche

Gestione metodi di input

Funzioni di Gestione metodi di input

RECONVERTSTRING

WM_IME_COMPOSITION