IME, exemple : montre comment contrôler le mode de l'IME et implémenter IME niveau 3

Mise à jour : novembre 2007

L'exemple IME utilise CIMEEdit, une sous-classe de CEdit, pour créer un contrôle d'édition. CIMEEdit gère tous les caractères d'entrées, et compose des chaînes DBCS. Cet exemple comprend les fonctionnalités suivantes :

  • Il montre comment contrôler le mode IME à l'aide de C/C++. Vous pouvez configurer le mode IME initial de CIMEEdit pour la langue d'entrée, la forme et ainsi de suite. Si vous souhaitez que votre contrôle d'édition soit défini dès le début pour accepter les caractères coréens, vous pouvez ajouter du code comme dans cet exemple. De même, si vous voulez uniquement l'anglais, vous pouvez désactiver IME.

  • Cet exemple montre également comment implémenter IME niveau 3 dans votre code source. IME niveau 3 est à la fois plus pratique et plus puissant pour les utilisateurs d'Asie orientale. En utilisant cet exemple, vous pouvez créer un contrôle personnalisé ou une fenêtre prenant en charge IME niveau 3.

  • Cet exemple détermine la police de caractères et la page de codes utilisées pour la conversion Ansi-Unicode par le clavier afin que vous puissiez essayer quatre IME différents pour toutes les langues d'Asie orientale sans changer la police ou la page de codes. Il s'agit d'une fonctionnalité de Windows 2000 et non pas d'une exigence pour la prise en charge d'IME niveau 3.

  • La fonction GetCombinedCharLength ne prend en charge que des caractères de substitution dans cet exemple. Si vous devez prendre en charge des caractères combinés, ajoutez votre code à la méthode.

Pour utiliser des fonctions IME, votre programme doit comprendre IMM.H et se lier à IMM32.LIB.

Note de sécurité :

Cet exemple de code est fourni pour illustrer un concept et ne doit pas être utilisé dans des applications ou des sites Web, car il peut ne pas illustrer les pratiques de programmation les plus sûres. Microsoft n'assume aucune responsabilité pour tout dommage indirect ou consécutif en cas d'utilisation de l'exemple de code à des fins autres que celles prévues.

Pour obtenir des exemples et des instructions d'installation :

  • Dans le menu ? (Aide) de Visual Studio, cliquez sur Exemples.

    Pour plus d'informations, consultez Recherche des fichiers d'exemple.

  • La liste la plus récente et la plus complète d'exemples est disponible en ligne à partir de la page d'exemples Visual Studio 2008.

  • Des exemples sont également disponibles sur le disque dur de votre ordinateur. Par défaut, des exemples et un fichier Readme sont copiés dans un dossier sous \Program Files\Visual Studio 9.0\Samples\. Pour les éditions Express de Visual Studio, tous les exemples sont accessibles en ligne.

Génération et exécution de l'exemple

Pour générer et exécuter cet exemple

  1. Ouvrez la solution IME.sln.

  2. Dans le menu Générer, cliquez sur Générer.

  3. Dans le menu Déboguer, cliquez sur Exécuter sans débogage.

Exécutez l'exemple et testez les fonctionnalités suivantes.

Contrôle du mode IME

  • Vous pouvez changer le mode IME à l'aide de cases à cocher. Si vous modifiez des options à l'aide de cases à cocher, l'état de la fenêtre IME change.

  • Vous pouvez changer le mode IME à l'aide de la fenêtre IME. Si vous changez des options à l'aide de la fenêtre IME, les cases à cocher de l'exemple sont modifiées.

  • Vous pouvez activer ou désactiver IME.

Implémentation d'IME niveau 3

  • Si vous entrez des caractères codés sur deux octets, vous pouvez voir de quelle manière se construisent des chaînes.

  • Si vous disposez de la police appropriée dans Windows 2000, vous pouvez voir des caractères de substitution.

Classes et mots clés

Cet exemple présente les classes suivantes :

CEdit

Cet exemple illustre l'utilisation des mots clés suivants :

CBitmap::OnPaint ; CEdit::OnChar ; CEdit::OnSetFocus ; CEdit::OnKillFocus ; CEdit::OnKeyDown ; CEdit::WindowProc ; ImmGetContext ; ImmReleaseContext ; ImmGetConversionStatus ; ImmSetConversionStatus ; ImmGetOpenStatus ; ImmSetOpenStatus ; ImmAssociateContext ; ImmNotifyIME ; ImmGetCompositionString ; ImmGetProperty ; ImmSetCandidateWIndow ; ImmSetCompositionWIndow

Voir aussi

Autres ressources

Exemples internationaux