Veinte Cdt

Registrado: 11 Dic 2003Mensajes: 11Ubicación: Guadalajara (España)
|
Publicado: Sab 11 Dic, 2004 5:54 pm Asunto: Resaltar los controles de todos los forms de mi aplicación |
|
|
Tengo una aplicación con varios forms y en uno de ellos tengo definida la función que permite resaltar los controles (colores, tipos de letra, etc) mediante mensajes de Windows, como nos indicó _Leo hace un tiempo:
| Código: |
void __fastcall CmFocusChanged(TCMFocusChanged& msg)
{
static TPanel* oldPnl = 0;
static TColor oldColor, oldFontColor;
TPanel* pnl = reinterpret_cast<TPanel*>(msg.Sender);
// Restauramos el estado del control que perdio el foco
if (oldPnl)
{
oldPnl->Color = oldColor;
oldPnl->Font->Color = oldFontColor;
}
// Guardamos las propiedades que nos interesen
// para restaurar el estado al perder el foco
oldPnl = pnl;
oldColor = pnl->Color;
oldFontColor = pnl->Font->Color;
// Cambiamos las propiedades del control que recibe el foco
pnl->Color = clYellow;
pnl->Font->Color = clRed;
inherited::Dispatch(&msg);
}
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(CM_FOCUSCHANGED, TCMFocusChanged,CmFocusChanged)
END_MESSAGE_MAP(inherited)
|
El problema que tengo es que necesito resaltar los controles en todos los forms de la aplicación y no se como hacerlo, es decir como se hace para que
void __fastcall CmFocusChanged(TCMFocusChanged& msg)
se ejecute "automáticamente" en todos los forms.
Un saludo. |
|