Partager via


Structure IMESTRUCT (ime.h)

Utilisé par SendIMEMessageEx pour spécifier la sous-fonction à exécuter dans le message IME (Input Method Editor) et ses paramètres. Cette structure est également utilisée pour recevoir des valeurs de retour de ces sous-fonctions.

Syntaxe

typedef struct tagIMESTRUCT {
  UINT   fnc;
  WPARAM wParam;
  UINT   wCount;
  UINT   dchSource;
  UINT   dchDest;
  LPARAM lParam1;
  LPARAM lParam2;
  LPARAM lParam3;
} IMESTRUCT, *PIMESTRUCT, *NPIMESTRUCT, *LPIMESTRUCT;

Membres

fnc

Une sous-fonction. Une des valeurs suivantes.

IME_ENTERWORDREGISTERMODE

Utilisé pour inscrire des mots. Les mots sont enregistrés comme une application envoie un mot et sa lecture. Les membres de structure sont interprétés comme suit :

Membre Type Description
lParam1 [Windows 3.1] LPARAM Le mot d’ordre inférieur spécifie un handle pour la mémoire globale qui contient une chaîne de mots se terminant par 0. La mémoire globale est un bloc de mémoire alloué en spécifiant les indicateurs GMEM_MOVEABLE et GMEM_SHARE dans la fonction GlobalAlloc .
lParam2 [Windows 3.1] LPARAM Le mot d’ordre inférieur spécifie un handle pour la mémoire globale qui contient une chaîne de lecture se terminant par 0. La mémoire globale est un bloc de mémoire alloué en spécifiant les indicateurs GMEM_MOVEABLE et GMEM_SHARE dans la fonction GlobalAlloc
lParam3 [Windows 3.1] LPARAM Doit être NULL.
lParam1 [Windows NT] LPARAM Spécifie un handle pour la mémoire globale qui contient une chaîne de mot se terminant par 0. La mémoire globale est un bloc de mémoire alloué en spécifiant les indicateurs GMEM_MOVEABLE et GMEM_SHARE dans la fonction GlobalAlloc .
lParam2 [Windows NT] LPARAM Spécifie un handle pour la mémoire globale qui contient une chaîne de lecture se terminant par 0. La mémoire globale est un bloc de mémoire alloué en spécifiant les indicateurs GMEM_MOVEABLE et GMEM_SHARE dans la fonction GlobalAlloc .
lParam3 [Windows NT] LPARAM Permet de spécifier des informations sur une partie de la parole. Étant donné que ces informations ne peuvent pas être spécifiées avec la spécification Windows actuelle, NULL est défini ici.
 

La valeur de retour indique le résultat de l’inscription de mots. TRUE si l’inscription a été traitée normalement ; sinon, FALSE.

Si des informations telles qu’une partie de la parole sont nécessaires, une boîte de dialogue doit s’afficher pour inviter l’utilisateur à entrer une entrée. NULL peut être spécifié dans les membres lParam1 et lParam2 ; dans ce cas, rien ne doit être affiché dans le champ d’entrée associé dans la boîte de dialogue.

IME_GETCONVERSIONMODE

Acquiert le mode de conversion actuel de l’IME. Ce sous-programme n’utilise aucun paramètre.

C’est la même chose que IME_GET_MODE.

Retourne le mode de conversion actuel de l’IME sous la forme d’une combinaison de IME_MODE_ALPHANUMERIC à IME_MODE_NOCODEINPUT. Les modes de conversion sont les suivants :

Conversion Mode Mode
IME_MODE_ALPHANUMERIC Alphanumérique
IME_MODE_KATAKANA Katakana
IME_MODE_HIRAGANA Hiragana
IME_MODE_SBCSCHAR Caractère codé sur un octet
IME_MODE_DBCSCHAR Caractère codé sur deux octets
IME_MODE_ROMAN Caractère romain
IME_MODE_NOROMAN Caractère non romain
IME_MODE_CODEINPUT Entrée de code
IME_MODE_NOCODEINPUT Entrée non-code
 

IME_GET_MODE

Identique à IME_GETCONVERSIONMODE.

IME_MOVECONVERTWINDOW

Identique à IME_SETCONVERSIONWINDOW.

IME_SETCONVERSIONFONTEX

Police à utiliser pour afficher une chaîne indéterminée qui apparaît dans la fenêtre de conversion. Les membres de structure sont interprétés comme suit :

Membre Type Description
lParam1 [Windows 3.1] LPARAM Le mot de bas ordre spécifie un handle pour la mémoire globale qui contient une structure LOGFONT qui spécifie la police logique. La mémoire globale est un bloc de mémoire alloué en spécifiant les indicateurs GMEM_MOVEABLE et GMEM_SHARE dans la fonction GlobalAlloc . NULL indique une police système.
lParam1 [Windows NT] LPARAM Spécifie un handle pour la mémoire globale qui contient une structure LOGFONT qui spécifie la police logique. La mémoire globale est un bloc de mémoire alloué en spécifiant les indicateurs GMEM_MOVEABLE et GMEM_SHARE dans la fonction GlobalAlloc . NULL indique une police système.
 

Cette sous-fonction n’a aucune valeur de retour.

La police spécifiée par IME_SETCONVERSIONFONTEX ne peut être utilisée que pour afficher des chaînes indéterminées.

Pour afficher des chaînes indéterminées à la position par défaut, utilisez une police système. Si la position d’affichage n’est plus la position par défaut, activez la police spécifiée précédemment.

La mémoire globale qui contient la structure LOGFONT est libérée par l’application.

Si l’IME qui affiche actuellement la fenêtre de conversion reçoit la commande IME_SETCONVERSIONFONTEX et que, à la suite du traitement de la commande, la fenêtre de conversion a changé, l’IME doit envoyer un message WM_IME_REPORT :IR_CHANGECONVERT. Ce message ne doit pas être envoyé si la police spécifiée par IME_SETCONVERSIONFONTEX est identique à celle utilisée par l’IME.

IME_SETCONVERSIONMODE

Définit le mode de conversion de l’IME. Le membre wParam spécifie une ou plusieurs des valeurs suivantes :

Valeur Signification
IME_MODE_ALPHANUMERIC Mode de conversion alphanumérique. Cette valeur ne peut pas être utilisée avec IME_MODE_KATAKANA ou IME_MODE_HIRAGANA.
IME_MODE_KATAKANA Mode de conversion katakana. Cette valeur ne peut pas être utilisée avec IME_MODE_ALPHANUMERIC ou IME_MODE_HIRAGANA.
IME_MODE_HIRAGANA Mode de conversion Hiragana. Cette valeur ne peut pas être utilisée avec IME_MODE_ALPHANUMERIC ou IME_MODE_HIRAGANA.
IME_MODE_SBCSCHAR Mode de conversion de caractères sur un octet. Ce paramètre ne peut pas être utilisé avec IME_MODE_DBCSCHAR.
IME_MODE_DBCSCHAR Mode de conversion de caractères sur deux octets. Ce paramètre ne peut pas être utilisé avec IME_MODE_SBCSCHAR.
IME_MODE_ROMAN Mode de conversion de caractères romains. Ce paramètre ne peut pas être utilisé avec IME_MODE_NOROMAN.
IME_MODE_NOROMAN Mode de conversion de caractères non romains. Ce paramètre ne peut pas être utilisé avec IME_MODE_ROMAN.
IME_MODE_CODEINPUT Mode de conversion d’entrée de code. Ce paramètre ne peut pas être utilisé avec IME_MODE_NOCODEINPUT. Le fonctionnement d’un IME en mode d’entrée de code dépend de l’IME particulier.
IME_MODE_NOCODEINPUT Mode de conversion d’entrée non codé. Ce paramètre ne peut pas être utilisé avec IME_MODE_CODEINPUT.
 

La valeur de retour indique si le mode de conversion donné a été correctement configuré. Il retourne l’état du mode de conversion précédemment en vigueur si le nouveau mode de conversion a été configuré ; sinon, NULL.

IME_SETCONVERSIONWINDOW

Taille et position du rectangle englobant pour l’IME, ainsi que la position initiale de la fenêtre de conversion. L’IME affiche une chaîne non déterminée à la position spécifiée par cette sous-fonction.

Le membre wParam spécifie l’une des valeurs suivantes :

Valeur Signification
MCW_DEFAULT Affiche la fenêtre de conversion à la position par défaut, qui se trouve généralement en bas de l’écran.

Si le style MCW_DEFAULT est spécifié dans un message IME_SETCONVERSIONWINDOW, lorsque l’IME affiche ou dessine une fenêtre de conversion à la position par défaut, il ne doit pas envoyer de message IR_OPENCONVERT, IR_CHANGECONVERT, IR_FULLCONVERT ou IR_CLOSECONVERT.

MCW_WINDOW Affiche la fenêtre de conversion à la coordonnée donnée dans le membre lParam1 , dans la fenêtre spécifiée dans le paramètre wParam du message WM_CONVERTREQUEST ou WM_CONVERTREQUESTEX. La valeur dans lParam1 indique les coordonnées par rapport au coin supérieur gauche de la fenêtre, le mot d’ordre inférieur représentant la coordonnée X et le mot d’ordre élevé la coordonnée Y. Le rectangle englobant est le rectangle client de la fenêtre donnée et est le moyen le plus courant d’appeler une conversion kana-to-kanji.

Si le style MCW_WINDOW est spécifié dans un message IME_SETCONVERSIONWINDOW, l’IME doit envoyer un message IR_OPENCOVERT si la fenêtre de conversion status est passée de fermée à ouverte. Si la fenêtre de conversion status est passée d’ouverte à fermée, l’IME doit envoyer un message IR_CLOSECONVERT. Il existe toutefois une exception. Pour plus d’informations, consultez IME_WINDOWUPDATE.

MCW_WINDOW | MCW_RECT Identique à MCW_WINDOW sauf que le rectangle englobant est spécifié par les membres lParam2 et lParam3 . Le membre lParam2 spécifie le point supérieur gauche et lParam3 spécifie le point inférieur droit, chacun avec le mot d’ordre inférieur représentant la coordonnée X et le mot d’ordre supérieur la coordonnée Y. Les coordonnées sont relatives à l’angle supérieur gauche de la fenêtre.
MCW_SCREEN Affiche la fenêtre de conversion avec son coin supérieur gauche désigné par le membre lParam1 . Le membre lParam1 indique des coordonnées absolues avec l’origine dans le coin supérieur gauche de l’écran. Le mot d’ordre bas représente la coordonnée X et le mot d’ordre élevé la coordonnée Y. Le rectangle englobant est le plein écran.

Si le style MCW_SCREEN est spécifié dans un message IME_SETCONVERSIONWINDOW, l’IME doit envoyer un message IR_OPENCOVERT si la fenêtre de conversion status est passée de fermée à ouverte. Si la fenêtre de conversion status est passée d’ouverte à fermée, l’IME doit envoyer un message IR_CLOSECONVERT. Il existe toutefois une exception. Pour plus d’informations, consultez IME_WINDOWUPDATE.

MCW_SCREEN | MCW_RECT Identique à MCW_SCREEN sauf que le rectangle englobant est spécifié par les membres lParam2 et lParam3 . Le membre lParam2 spécifie le point supérieur gauche et lParam3 spécifie le point inférieur droit, chacun avec le mot d’ordre inférieur représentant la coordonnée X et le mot d’ordre supérieur la coordonnée Y. Les coordonnées sont des coordonnées absolues avec l’origine en haut à gauche de l’écran.
MCW_HIDDEN [Windows 3.1] Lorsque cet indicateur est spécifié, l’IME n’affiche pas la fenêtre de conversion. Au lieu de cela, l’application elle-même affiche des chaînes indéterminées. Le membre lParam1 spécifie les coordonnées de la position du curseur affichée par l’application ou du point d’intérêt. Les membres lParam2 et lParam3 spécifient une région où aucun affichage n’est activé par l’IME. Un IME qui affiche les candidats à chaîne déterminée dans une fenêtre contextuelle peut utiliser ces informations pour déterminer où afficher la fenêtre des candidats à chaîne déterminée. Une fenêtre permettant d’afficher les chaînes candidates est considérée comme une fenêtre système. Par conséquent, il dépend de l’IME quant à l’affichage d’une telle fenêtre, à l’emplacement et à la façon d’afficher la fenêtre, et à l’entrée du clavier à utiliser. Les trois membres lParam1, lParam2 et lParam3 spécifient les coordonnées absolues en haut à gauche de l’écran, chacune avec le mot d’ordre inférieur représentant la coordonnée X et le mot d’ordre élevé la coordonnée Y.

Lorsque l’indicateur MCW_HIDDEN est spécifié, l’IME envoie un message IR_UNDETERMINE pour demander à l’application d’afficher la chaîne indéterminée. L’application elle-même affiche la chaîne indéterminée contenue dans ce message.

Une fois l’indicateur de MCW_HIDDEN spécifié, l’IME n’envoie pas de message IR_OPENCONVERT, IR_CHANGECONVERT ou IR_CLOSECONVERT.

Si une application spécifie MCW_HIDDEN et, en même temps, demande un rectangle trop grand pour afficher la fenêtre candidate pour une chaîne déterminée, elle doit être traitée comme une erreur. Le code d’erreur doit être IME_RD_TOOLONG.

Si le style MCW_HIDDEN est spécifié dans un message de IME_SETCONVERSIONWINDOW, l’IME ne doit jamais envoyer de IR_OPENCONVERT, de IR_CHANGECONVERT, de IR_FULLCONVERT ou de IR_CLOSECONVERT.

MCW_VERTICAL Indique à l’IME que l’application affiche des chaînes de caractères au format d’écriture verticale. Si cet indicateur est spécifié, la fenêtre de conversion s’affiche pour l’écriture verticale, la position désignée par le membre lParam1 étant le coin supérieur droit. Cet indicateur peut être spécifié avec MCW_WINDOW, MCW_WINDOW|MCW_RECT, MCW_SCREEN ou MCW_SCREEN|MCW_RECT. Un IME doit prendre en charge MCW_VERTICAL. Si MCW_VERTICAL est spécifié et que la police sélectionnée n’est pas destinée à l’écriture verticale, l’IME utilise la police d’écriture verticale par défaut. Cette police par défaut est créée comme suit :
  1. Les informations de police sont récupérées dans la structure LOGFONT par la fonction GetObject à l’aide du handle de police de SYSTEM_FONT.
  2. La police est créée en ajoutant une esperluette (@) au début du nom du visage et en définissant l’échappement et l’orientation sur 270 degrés.
 

La valeur de retour indique si la commande a été exécutée. TRUE si l’exécution de la commande a réussi ; sinon, FALSE.

Si une chaîne non déterminée semble dépasser le rectangle englobant, l’IME doit émettre le message de rapport WM_IME_REPORT :IR_FULLCONVERT à l’application avant d’afficher cette chaîne. Si l’application ne gère pas ce message, le traitement suivant de l’affichage n’est pas formulé dans cette spécification, mais il est laissé à l’IME. Par exemple, la chaîne non déterminée peut faire défiler dans le rectangle englobant ou être déplacée temporairement vers la position par défaut.

Si un message IME_SETCONVERSIONWINDOW est appelé alors que l’IME contient une chaîne non déterminée, l’IME doit émettre un message WM_IME_REPORT :IR_CLOSECONVERT ; si la chaîne correspond à la fenêtre donnée en tant que paramètre, l’IME doit émettre un message WM_IME_REPORT :IR_OPENCONVERT. Ce n’est qu’alors que la fenêtre de conversion doit être dessinée. Si la chaîne ne tient pas dans la fenêtre, l’IME doit émettre un message WM_IME_REPORT :IR_FULLCONVERT.

La position du rectangle englobant peut être spécifiée en dehors de la zone d’écran physique. Si l’ensemble du rectangle englobant se trouve en dehors de l’écran physique, les chaînes indéterminées ne doivent pas être affichées. Si une partie du rectangle englobant se trouve en dehors de l’écran physique, l’IME le clipse afin qu’aucune partie de la chaîne indéterminée ne dépasse l’écran et ajuste également la position de début d’affichage.

Il est recommandé de ne pas définir le nombre maximal de lignes ou le nombre maximal de caractères affichés dans la fenêtre de conversion.

Si la fenêtre de conversion chevauche une fenêtre système, la fenêtre de conversion doit être visible. Par exemple, la fenêtre de conversion peut être prioritaire pour l’affichage ou la fenêtre système peut être déplacée ailleurs.

L’IME doit envoyer un message IR_CHANGECONVERT si la fenêtre de conversion a changé de taille, de contenu d’affichage ou de couleur d’affichage. Toutefois, si une chaîne indéterminée ne tient pas dans une fenêtre spécifiée, l’IME doit envoyer un message IR_FULLCONVERT plutôt qu’IR_CHANGECONVERT.

Lorsque l’IME est passé du mode MCW_WINDOW ou MCW_SCREEN à MCW_DEFAULT, il doit envoyer un message IR_CLOSECONVERT s’il existe une chaîne indéterminée.

Lorsque l’IME est passé du mode MCW_WINDOW ou MCW_SCREEN à MCW_HIDDEN, il doit envoyer un message IR_CLOSECONVERT s’il existe une chaîne indéterminée.

Lorsque l’IME est passé du mode MCW_HIDDEN à MCW_DEFAULT, MCW_SCREEN ou MCW_WINDOW, l’IME doit transmettre un message IR_UNDETERMINE avec une chaîne indéterminée = 0 et une chaîne déterminée = 0.

IME_SETLEVEL

Sous-fonction spécifique au coréen qui définit le niveau IME sur l’application actuelle. Le membre wParam accepte l’une des valeurs de niveau suivantes.

Level Signification
1 Aucune prise en charge de l’IME. Tous les messages spécifiques à l’IME sont ignorés.
2 Prise en charge partielle de l’IME. Prend en charge un sous-ensemble de comportement IME, y compris la position de la composition ou des fenêtres candidates et le mode d’entrée ou status.
3 Prise en charge complète de l’IME.
 

IME_SETOPEN

Définit la status de la fonctionnalité de conversion kana-kanji de l’IME.

Le membre wParam est défini sur une valeur différente de zéro pour ouvrir l’IME et zéro pour fermer l’IME

La valeur de retour indique la status précédente de la fonctionnalité de conversion kana-kanji. Retourne TRUE si elle est ouverte ; sinon, FALSE.

Une chaîne indéterminée ne doit pas être déterminée si la fonctionnalité de conversion kana-kanji a été fermée par IME_SETOPEN.

Lorsque la fonctionnalité de conversion kana-kanji doit être fermée par IME_SETOPEN, l’IME doit envoyer un message IR_CLOSECONVERT si l’IME est en mode MCW_WINDOW ou MCW-SCREEN et si une fenêtre de conversion est ouverte. Toutefois, l’IME n’a pas besoin d’émettre IR_CLOSECONVERT s’il est en mode MCW_HIDDEN et s’il existe une chaîne indéterminée.

IME_SET_MODEK

Version spécifique à la corée de IME_SETCONVERSIONMODE.

wParam

L’utilisation dépend de la sous-fonction spécifiée dans fnc.

wCount

L’utilisation dépend de la sous-fonction spécifiée dans fnc.

dchSource

L’utilisation dépend de la sous-fonction spécifiée dans fnc.

dchDest

L’utilisation dépend de la sous-fonction spécifiée dans fnc.

lParam1

L’utilisation dépend de la sous-fonction spécifiée dans fnc.

lParam2

L’utilisation dépend de la sous-fonction spécifiée dans fnc.

lParam3

L’utilisation dépend de la sous-fonction spécifiée dans fnc.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
En-tête ime.h

Voir aussi

Presse-papiers

Conceptuel

Référence

SetClipboardData