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

Notifica al host de texto de varios eventos.

Sintaxis

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

Parámetros

[in] iNotify

Tipo: DWORD

Evento para notificar al host de . Uno de los códigos de notificación de EN_ .

[in] pv

Tipo: void*

Datos adicionales, dependientes de iNotify.

Valor devuelto

Tipo: HRESULT

Devuelve S_OK si el método se realiza correctamente.

Devuelve S_FALSE si se produce un error en el método. Para obtener más información sobre los códigos de error COM, vea Control de errores en COM.

Comentarios

Tenga en cuenta que hay dos categorías básicas de eventos, directas y retrasadas . Los eventos directos se envían inmediatamente porque necesitan algún procesamiento, por ejemplo, EN_PROTECTED. Los eventos retrasados se envían después de que se haya producido todo el procesamiento; por lo tanto, el control está en un estado estable. Algunos ejemplos de notificaciones retrasadas son EN_CHANGE, EN_ERRSPACE y EN_SELCHANGE.

Los eventos de notificación son los mismos que los códigos de notificación enviados a la ventana primaria de una ventana de edición enriquecida. La activación de eventos se puede controlar con una máscara establecida a través del mensaje EM_SETEVENTMASK .

En general, es legal realizar llamadas al objeto de servicios de texto mientras se procesa este método; sin embargo, se advierte a los implementadores para evitar una recursividad excesiva.

A continuación se muestra una lista de las notificaciones que se pueden enviar.

Notificación Significado
EN_CHANGE Enviado después de que el sistema actualice la pantalla, cuando el usuario realiza una acción que puede haber modificado el texto en el control.
EN_DROPFILES Se envía cuando se recibe una notificación WM_DROPFILES o IDropTarget::D ragEnter .
EN_ERRSPACE Se envía cuando un control no puede asignar memoria suficiente para satisfacer una solicitud especificada.
EN_HSCROLL Se envía cuando el usuario hace clic en la barra de desplazamiento horizontal del control antes de actualizar la pantalla.
EN_KILLFOCUS Se envía cuando el control pierde el foco del teclado.
EN_LINK Se envía cuando un control de edición enriquecido recibe varios mensajes, como mensajes de clic del mouse, cuando el puntero del mouse está sobre texto que tiene el efecto CFE_LINK.
EN_MAXTEXT Se envía cuando la inserción de texto actual ha superado el número máximo de caracteres para el control.
EN_OLEOPFAILED Se envía cuando se produce un error en una acción de usuario en un objeto OLE.
EN_PROTECTED Se envía cuando el usuario realiza una acción que cambia el intervalo de texto protegido.
EN_REQUESTRESIZE Se envía cuando el contenido de un control de edición enriquecido es diferente del tamaño de la ventana del control.
EN_SAVECLIPBOARD Se envía cuando se destruye un control de edición. El host de texto debe indicar si se debe llamar a OleFlushClipboard . Los datos que indican el número de caracteres y objetos que se van a vaciar se envían en la estructura de datos ENSAVECLIPBOARD . El valor de máscara no es nada.
EN_SELCHANGE Se envía cuando ha cambiado la selección actual. También se envía una estructura de datos SELCHANGE , que indica el nuevo intervalo de selección en el tipo de datos que la selección ha terminado actualmente. Controlado a través de la máscara de ENM_SELCHANGE .
EN_SETFOCUS Se envía cuando el control de edición recibe el foco del teclado. No se envían datos adicionales; no hay máscara.
EN_STOPNOUNDO Se envía cuando se produce una acción para la que el control no puede asignar memoria suficiente para mantener el estado de deshacer. Si se devuelve S_FALSE, se detendrá la acción; de lo contrario, la acción continuará.
EN_UPDATE Se envía antes de que un control de edición solicite un nuevo dibujo de datos modificados o texto. No se envían datos adicionales. Este evento se controla a través de la máscara de ENM_UPDATE . Rich Edit 2.0 y versiones posteriores: La máscara de ENM_UPDATE se omite y siempre se envía el código de notificación de EN_UPDATE . Sin embargo, cuando Microsoft Rich Edit 3.0 emula Microsoft Rich Edit 1.0, la máscara de ENM_UPDATE controla esta notificación.
EN_VSCROLL Se envía cuando el usuario hace clic en la barra de desplazamiento vertical de un control de edición o cuando el usuario desplaza la rueda del mouse sobre el control de edición, antes de actualizar la pantalla. Esto se controla a través de la máscara ENM_SCROLL ; no se envían datos adicionales.
 
Nota El EN_MSGFILTER no se envía a TxNotify. Para filtrar mensajes de ventana, use TxSendMessage.
 

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado textserv.h
Archivo DLL Msftedit.dll

Consulte también

Conceptual

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

Referencia

Controles de edición enriquecida sin ventanas