Código en Delphi 6, válido para Delphi for win32 y CodeGear RAD Studio (Delphi win32) | ||
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 FormCatch : 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:
ceControl recibirá los mensajes del control indicado de Window.
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.