Partager via


Méthode ITextServices ::TxSendMessage (textserv.h)

Utilisé par l’hôte de fenêtre pour transférer les messages envoyés de sa fenêtre à l’objet services de texte.

Syntaxe

HRESULT TxSendMessage(
  UINT    msg,
  WPARAM  wparam,
  LPARAM  lparam,
  LRESULT *plresult
);

Paramètres

msg

Type : UINT

Identificateur de message.

wparam

Type : WPARAM

WPARAM du message de la fenêtre.

lparam

Type : LPARAM

LPARAM du message de la fenêtre.

plresult

Type : LRESULT*

Le message retourne LRESULT.

Valeur retournée

Type : HRESULT

Si la méthode réussit, la valeur de retour est S_OK.

Si la méthode échoue, la valeur de retour est l’un des codes HRESULT suivants. Pour plus d’informations sur les codes d’erreur COM, consultez Gestion des erreurs dans COM.

Code de retour Description
E_OUTOFMEMORY
Mémoire insuffisante. Le message NOERROR a été traité et une action a été effectuée.
S_FALSE
Le message n’a pas été traité. Indique généralement que l’appelant doit traiter le message lui-même, éventuellement en appelant DefWindowProc.
S_MSG_KEYIGNORED
Message traité, mais aucune action n’a été effectuée pour la séquence de touches.

Remarques

Notez que deux valeurs de retour sont transmises à partir de cette fonction. La valeur de retour qui doit être passée à partir d’une procédure de fenêtre est plresult. Toutefois, dans certains cas, le LRESULT retourné ne contient pas suffisamment d’informations. Par exemple, pour implémenter le déplacement du curseur autour des contrôles, il est utile de savoir si une séquence de touches (telle que la flèche droite) a été traitée, mais ignorée (par exemple, l’insertion se trouve déjà à la position la plus à droite dans le texte). Dans ce cas, des informations supplémentaires peuvent être retournées via le HRESULT retourné.

WM_CHAR et WM_KEYDOWN doivent retourner la valeur S_MSG_KEYIGNORED lorsqu’une clé ou un caractère est reconnu, mais n’a aucun effet, compte tenu de l’état actuel. Par exemple, S_MSG_KEYIGNORED doivent être retournés dans les cas suivants :

  • Toute séquence de touches qui tente de déplacer le point d’insertion vers ou au-delà du début ou de la fin du document ; lorsqu’il se trouve déjà au début ou à la fin du document, respectivement.
  • Toute séquence de touches qui tente de déplacer le point d’insertion vers ou au-delà de la ligne suivante lorsqu’il se trouve déjà sur la dernière ligne ; ou avant la ligne précédente lorsqu’elle se trouve déjà sur la première ligne.
  • Toute insertion du caractère à partir de WM_CHAR qui déplacerait le point d’insertion au-delà de la longueur maximale du contrôle.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête textserv.h
DLL Msftedit.dll

Voir aussi

Conceptuel

DefWindowProc

ITextServices

Autres ressources

WM_CHAR

WM_KEYDOWN

Contrôles d’édition enrichis sans fenêtre