ImmSetCompositionStringA, fonction (imm.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
SCS_SETSTR
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.
SCS_CHANGEATTR
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.
SCS_CHANGECLAUSE
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.
SCS_SETRECONVERTSTRING
Windows Me/98, Windows 2000, Windows XP : Demandez à IME de reconvertir la chaîne à l’aide d’une structure RECONVERTSTRING spécifiée.
SCS_QUERYRECONVERTSTRING
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 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 retournée

Retourne une valeur différente de zéro en cas de réussite, ou 0 dans le cas contraire.

Notes

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 peut modifier uniquement la clause cible, ce qui n’affecte qu’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 la notifier 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 qu’IME ajuste la structure RECONVERTSTRING pour la conversion.
  2. 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 de lpRead uniquement lorsque l’IME sélectionné a SCS_CAP_MAKEREAD défini.

Notes

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. La combinaison 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.

Spécifications

   
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 imm.h (inclure Immdev.h, Windows.h)
Bibliothèque Imm32.lib
DLL Imm32.dll

Voir aussi

Gestionnaire de méthodes d’entrée

Fonctions du gestionnaire de méthodes d’entrée

RECONVERTSTRING

WM_IME_COMPOSITION