Código en Delphi 6, válido para Delphi for win32 y CodeGear RAD Studio (Delphi win32)
Home
Download
Documentos
Links
Historial
Correo

CatchEvent


Este componente 'no visual' captura todos/parte de los mensajes que recibe el form o uno de los controles que contenga el form. Pero no impide que el form o el control responda al mensaje, sino que salta justo antes o después de que éstos respondan.

Hay que tener cuidado con lo que se programa en el evento OnCatchEvent porque saltará cada vez que el form o el control que le señalemos reciba mensajes (y pueden ser cientos, por ejemplo movimientos del ratón).

Propiedades:

Window : Form o control del que capturar los mensajes.
MessageCatched : Mensajes que se capturarán :

Valor propiedad Mensaje Windows
mtAny (Todos los mensajes incluso los que no aparecen en esta lista)
mtSetFocus WM_SETFOCUS
mtKillFocus WM_KILLFOCUS
mtSetText WM_SETTEXT
mtGetText WM_GETTEXT
mtKeyDown WM_KEYDOWN
mtKeyUp WM_KEYUP
mtChar WM_CHAR
mtPaste WM_PASTE
mtCut WM_CUT
mtCopy WM_COPY
mtClear WM_CLEAR
mtHScroll WM_HSCROLL
mtVScroll WM_VSCROLL
mtMouseWheel WM_MOUSEWHEEL
mtLButtonDown WM_LBUTTONDOWN
mtLButtonUp WM_LBUTTONUP
mtLButtonDblClk WM_LBUTTONDBLCLK
mtRButtonDown WM_RBUTTONDOWN
mtRButtonUp WM_RBUTTONUP
mtRButtonDblClk WM_RBUTTONDBLCLK
mtMButtonDown WM_MBUTTONDOWN
mtMButtonUp WM_MBUTTONUP
mtMButtonDblClk WM_MBUTTONDBLCLK
mtMove WM_MOVE
mtMouseEnter CM_MOUSEENTER
mtMouseLeave CM_MOUSELEAVE
mtMouseMove WM_MOUSEMOVE
mtPaint WM_PAINT

CatchFrom : Capturar mensajes de :
ceForm recibirá los mensajes del Form
ceControl recibirá los mensajes del control indicado de Window.
Catch : OnCatchEvent salta antes o después de que el control responda al mensaje. Si pone el valor de la propiedad a cBefore, el código del evento OnCatchEvent no debe provocar nuevos mensajes en el control:
cBefore Salta antes.
cAfter Salta después.

Eventos :

OnCatchEvent : Salta cada vez que el form o el control recibe un mensaje y se ejecuta antes o después de que éstos hayan respondido al mensaje.