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. |
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
Referencia