Partager via


ImmSetCompositionStringA, fonction (imm.h)

Définit les caractères, les attributs et les clauses de la composition et des chaînes 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
SCS_SETSTR
Définissez la chaîne de composition, la chaîne de lecture ou les deux. Au moins l’un des paramètres lpComp et lpRead doivent indiquer une chaîne valide. Si l’une ou l’autre chaîne est trop longue, l’IME la tronque.
SCS_CHANGEATTR
Définissez des attributs pour la chaîne de composition, la chaîne de lecture ou les deux. Au moins l’un des paramètres lpComp et lpRead doivent indiquer un tableau d’attributs valide.
SCS_CHANGECLAUSE
Définissez les informations de clause pour la chaîne de composition, la chaîne de lecture ou les deux. Au moins l’un des paramètres lpComp et lpRead doivent pointer vers un tableau d’informations de clause valide.
SCS_SETRECONVERTSTRING
Windows Me/98, Windows 2000, Windows XP : Demander à IME de reconvertir la chaîne à l’aide d’une structure RECONVERTSTRING spécifiée.
SCS_QUERYRECONVERTSTRING
Windows Me/98, Windows 2000, Windows XP : Demander à IME d’ajuster la structure RECONVERTSTRING. Ensuite, l’application peut passer la structure ajustée dans cette fonction à l’aide de SCS_SETRECONVERTSTRING. IME ne génère aucun message WM_IME_COMPOSITION.

[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 de retour

Retourne une valeur différente de zéro si elle réussit ou 0 sinon.

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 change d’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, ce qui affecte 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 conversion. 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 :

  1. Appelez ImmSetCompositionString avec SCS_QUERYRECONVERTSTRING, afin que l’IME ajuste la structure RECONVERTSTRING pour la conversion.
  2. Appelez ImmSetCompositionString avec SCS_SETRECONVERTSTRING, afin que l’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 de lpRead uniquement lorsque l’IME sélectionné a SCS_CAP_MAKEREAD défini.

Note

L’en-tête imm.h définit ImmSetCompositionString en tant qu’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.

Exigences

Exigence Valeur
client minimum pris en charge Windows XP [applications de bureau uniquement], prise en charge linguistique de l’Asie de l’Est installée.
serveur minimum pris en charge Windows Server 2003 [applications de bureau uniquement]
plateforme cible Windows
d’en-tête imm.h (include Immdev.h, Windows.h)
bibliothèque Imm32.lib
DLL Imm32.dll

Voir aussi

du gestionnaire de méthodes d’entrée

fonctions Input Method Manager

RECONVERTSTRING

WM_IME_COMPOSITION