Cambiar BackColor

l_island
22 de Diciembre del 2004
La pregunta es sencilla

¿Sabe alguien como cambiar el backcolor de un control que no tiene la propiedad Backcolor?

Os cuento mi problema :

Tengo un control (TxStatusBar que pertenece al TXControl) que no posee la propiedad BackColor, por necesiades de apariencia en mi aplicación debo cambiar el color de fondo de este control y algunos más, el código que utilizo para esto es:

'Objeto para colores sólidos
mBrush = CreateSolidBrush(&HFF)

'Pintar status bar
MIHDC = GetDC(MiControl.hwnd)
nOldBrush = SelectObject(MIHDC, mBrush2)
ExtFloodFill MIHDC, 1, 1, GetPixel(MIHDC, 1, 1), 1
ExtFloodFill MIHDC, MiControl.Width / 2, MiControl.Height / 2, GetPixel(MIHDC, MiControl.Width / 2, MiControl.Height / 2), 1
SelectObject MIHDC, nOldBrush

ReleaseDC MiControl.hwnd, MIHDC

DeleteObject mBrush

Todo funciona bien hasta que decibo minimizar mi formulario o mostrar otro formulario delante del mío, en estos casos se restaura el BackColor original del control.

Sabe alguien como hacer que esto no suceda?

Gracias

l_island
22 de Diciembre del 2004
Sigo buscando una solución...