ImmSetCompositionStringA, fonction (immdev.h)
Définit les caractères, les attributs et les clauses des chaînes de composition et de lecture.
Syntaxe
BOOL ImmSetCompositionStringA(
HIMC unnamedParam1,
[in] DWORD dwIndex,
[in, optional] LPVOID lpComp,
[in] DWORD dwCompLen,
[in, optional] LPVOID lpRead,
[in] DWORD dwReadLen
);
Paramètres
unnamedParam1
[in] dwIndex
Type d’informations à définir. Ce paramètre peut avoir l’une des valeurs suivantes.
Valeur | Signification |
---|---|
|
Définissez la chaîne de composition, la chaîne de lecture ou les deux. Au moins un des paramètres lpComp et lpRead doit indiquer une chaîne valide. Si l’une ou l’autre chaîne est trop longue, l’IME la tronque. |
|
Définissez des attributs pour la chaîne de composition, la chaîne de lecture ou les deux. Au moins un des paramètres lpComp et lpRead doit indiquer un tableau d’attributs valide. |
|
Définissez les informations de clause pour la chaîne de composition, la chaîne de lecture ou les deux. Au moins un des paramètres lpComp et lpRead doit pointer vers un tableau d’informations de clause valide. |
|
Windows Me/98, Windows 2000, Windows XP : Demandez à IME de reconvertir la chaîne à l’aide d’une structure RECONVERTSTRING spécifiée. |
|
Windows Me/98, Windows 2000, Windows XP : Demandez à IME d’ajuster la structure RECONVERTSTRING . L’application peut ensuite passer la structure ajustée dans cette fonction à l’aide de SCS_SETRECONVERTSTRING. L’IME ne génère aucun WM_IME_COMPOSITION messages. |
[in, optional] lpComp
Pointeur vers une mémoire tampon contenant les informations à définir pour la chaîne de composition, comme spécifié par la valeur de dwIndex.
[in] dwCompLen
Taille, en octets, de la mémoire tampon d’informations pour la chaîne de composition, même si SCS_SETSTR est spécifié et que la mémoire tampon contient une chaîne Unicode.
[in, optional] lpRead
Pointeur vers une mémoire tampon contenant les informations à définir pour la chaîne de lecture, comme spécifié par la valeur de dwIndex. L’application peut définir ce paramètre sur NULL.
[in] dwReadLen
Taille, en octets, de la mémoire tampon d’informations pour la chaîne de lecture, même si SCS_SETSTR est spécifié et que la mémoire tampon contient une chaîne Unicode.
Valeur retournée
Retourne une valeur différente de zéro en cas de réussite, ou 0 dans le cas contraire.
Remarques
L’application peut définir lpComp, lpRead ou les deux. Si l’application ne spécifie pas de valeur pour lpComp, elle doit définir ce paramètre sur NULL et définir dwCompLen sur 0.
Lorsque l’application modifie des attributs, tous les caractères d’une clause doivent avoir le même attribut. Les caractères convertis doivent avoir l’attribut ATTR_CONVERTED ou ATTR_TARGET_CONVERTED. Les caractères non convertis doivent avoir l’attribut ATTR_INPUT ou ATTR_TARGET_NOTCONVERTED.
Lorsque l’application modifie les informations de clause, elle ne peut modifier que la clause cible, affectant simplement une limite à la fois. La clause cible a l’attribut ATTR_TARGET_CONVERTED ou ATTR_TARGET_NOTCONVERTED.
Pour plus d’informations sur les attributs (valeurs ATTR_*), consultez Chaîne de composition.
Lorsque l’IME termine les modifications, il envoie un message WM_IME_COMPOSITION à l’application pour l’informer des modifications.
Windows Me/98, Windows 2000, Windows XP : Les valeurs SCS_*CONVERTSTRING sont utilisées pour la reconversion. Ils ne peuvent être utilisés que pour un IME qui a la propriété SCS_CAP_SETRECONVERTSTRING. L’application utilise ces valeurs comme suit :
- Appelez ImmSetCompositionString avec SCS_QUERYRECONVERTSTRING, afin qu’IME ajuste la structure RECONVERTSTRING pour la reconversion.
- Appelez ImmSetCompositionString avec SCS_SETRECONVERTSTRING, afin qu’IME génère une nouvelle chaîne de composition. Après cela, lpComp et lpRead indiquent une structure RECONVERTSTRING qui contient la composition et la chaîne de lecture mises à jour. Utilisez la valeur lpRead uniquement lorsque l’IME sélectionné a SCS_CAP_MAKEREAD défini.
Notes
L’en-tête immdev.h définit ImmSetCompositionString comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement], prise en charge des langues d’Asie de l’Est installée. |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | immdev.h (inclure Immdev.h, Windows.h) |
Bibliothèque | Imm32.lib |
DLL | Imm32.dll |
Voir aussi
Gestionnaire de méthodes d’entrée