Partager via


Méthode ITextHost ::TxNotify (textserv.h)

Avertit l’hôte de texte de différents événements.

Syntaxe

HRESULT TxNotify(
  [in] DWORD iNotify,
  [in] void  *pv
);

Paramètres

[in] iNotify

Type : DWORD

Événement à notifier à l’hôte. L’un des codes de notification EN_ .

[in] pv

Type : void*

Données supplémentaires, dépendantes d’iNotify.

Valeur retournée

Type : HRESULT

Retournez S_OK si la méthode réussit.

Retournez S_FALSE si la méthode échoue. Pour plus d’informations sur les codes d’erreur COM, consultez Gestion des erreurs dans COM.

Remarques

Notez qu’il existe deux catégories d’événements de base, direct et différé . Les événements directs sont envoyés immédiatement, car ils nécessitent un traitement, par exemple , EN_PROTECTED. Les événements retardés sont envoyés une fois que tout le traitement a eu lieu ; le contrôle est donc dans un état stable. Des exemples de notifications différées sont les EN_CHANGE, les EN_ERRSPACE et les EN_SELCHANGE.

Les événements de notification sont identiques aux codes de notification envoyés à la fenêtre parente d’une fenêtre d’édition enrichie. Le déclenchement d’événements peut être contrôlé avec un masque défini via le message EM_SETEVENTMASK .

En général, il est légal d’effectuer des appels à l’objet services de texte lors du traitement de cette méthode ; toutefois, les implémenteurs sont avertis d’éviter une récursivité excessive.

Voici la liste des notifications qui peuvent être envoyées.

Notification Signification
EN_CHANGE Envoyé après que le système a mis à jour l’écran, lorsque l’utilisateur effectue une action qui a peut-être modifié le texte dans le contrôle.
EN_DROPFILES Envoyé lors de la réception d’un message WM_DROPFILES ou d’une notification IDropTarget ::D ragEnter .
EN_ERRSPACE Envoyé lorsqu’un contrôle ne peut pas allouer suffisamment de mémoire pour répondre à une demande spécifiée.
EN_HSCROLL Envoyé lorsque l’utilisateur clique sur la barre de défilement horizontale du contrôle avant la mise à jour de l’écran.
EN_KILLFOCUS Envoyé lorsque le contrôle perd le focus du clavier.
EN_LINK Envoyé lorsqu’un contrôle d’édition enrichi reçoit différents messages, tels que des messages de clic de souris, lorsque le pointeur de la souris se trouve sur du texte qui a l’effet CFE_LINK.
EN_MAXTEXT Envoyé lorsque l’insertion de texte actuelle a dépassé le nombre maximal de caractères pour le contrôle.
EN_OLEOPFAILED Envoyé lorsqu’une action utilisateur sur un objet OLE a échoué.
EN_PROTECTED Envoyé lorsque l’utilisateur effectue une action qui modifie la plage de texte protégée.
EN_REQUESTRESIZE Envoyé lorsque le contenu d’un contrôle d’édition enrichi est différent de la taille de fenêtre du contrôle.
EN_SAVECLIPBOARD Envoyé lors de la destruction d’un contrôle d’édition. L’hôte de texte doit indiquer si OleFlushClipboard doit être appelé. Les données indiquant le nombre de caractères et d’objets à vider sont envoyées dans la structure de données ENSAVECLIPBOARD . La valeur du masque n’est rien.
EN_SELCHANGE Envoyé lorsque la sélection actuelle a changé. Une structure de données SELCHANGE est également envoyée, ce qui indique la nouvelle plage de sélection au type de données sur laquelle la sélection est actuellement effectuée. Contrôlé via le masque ENM_SELCHANGE .
EN_SETFOCUS Envoyé lorsque le contrôle d’édition reçoit le focus du clavier. Aucune donnée supplémentaire n’est envoyée ; il n’y a pas de masque.
EN_STOPNOUNDO Envoyé lorsqu’une action se produit pour laquelle le contrôle ne peut pas allouer suffisamment de mémoire pour maintenir l’état d’annulation. Si S_FALSE est retourné, l’action est arrêtée ; sinon, l’action continue.
EN_UPDATE Envoyé avant qu’un contrôle de modification demande un redessinage des données ou du texte modifiés. Aucune donnée supplémentaire n’est envoyée. Cet événement est contrôlé via le masque ENM_UPDATE . Rich Edit 2.0 et versions ultérieures : Le masque ENM_UPDATE est ignoré et le code de notification EN_UPDATE est toujours envoyé. Toutefois, lorsque Microsoft Rich Edit 3.0 émule Microsoft Rich Edit 1.0, le masque ENM_UPDATE contrôle cette notification.
EN_VSCROLL Envoyé lorsque l’utilisateur clique sur la barre de défilement verticale d’un contrôle d’édition ou lorsque l’utilisateur fait défiler la roulette de la souris sur le contrôle d’édition, avant que l’écran ne soit mis à jour. Ceci est contrôlé via le masque ENM_SCROLL ; aucune donnée supplémentaire n’est envoyée.
 
Note Le EN_MSGFILTER n’est pas envoyé à TxNotify. Pour filtrer les messages de fenêtre, utilisez TxSendMessage.
 

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

EM_SETEVENTMASK

EN_CHANGE

EN_DROPFILES

EN_ERRSPACE

EN_HSCROLL

EN_KILLFOCUS

EN_LINK

EN_MAXTEXT

EN_OLEOPFAILED

EN_PROTECTED

EN_REQUESTRESIZE

EN_SAVECLIPBOARD

EN_SELCHANGE

EN_SETFOCUS

EN_STOPNOUNDO

EN_UPDATE

EN_VSCROLL

ITextHost

Référence

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