![]() |
![]() |
|
|
|
|
|
Enviado por:
Al implementar aplicaciones en Visual C++ muchas veces desea que la interfaz sea agradable y completamente funcional al usuario final. Los controles Static de Visual C++ pueden derivarse y mejorar su funcionalidad. En este caso implementamos un control basado en CStatic para visualizar texto y colores.

ColourLabels ejecutandose
Para lograr este resultado la clase basada en CStatic implementa un nuevo comportamiento en la asignación de colores utilizando el mensaje WM_CTLCOLOR:
HBRUSH bpCstmLabel::CtlColor(CDC* pDC, UINT nCtlColor)
{
// El pincel se destruye automáticamente al salir de la función
CBrush Brush;
// Estas lineas solo trabajan sobre Win9x
// Sobre WinNT no se nota el Color... asi
// que haremos unos cambios...
/*
Brush.CreateSolidBrush( BackColor );
CBrush *OldBrush = pDC->SelectObject( &Brush );
pDC->SetBkColor( BackColor );
pDC->SetTextColor( ForeColor );
*/
// Este es un metodo mas directo... para WinNT
// Este color es la brocha general..
HBRUSH mBrush = (HBRUSH )::CreateSolidBrush( BackColor );
// Establecer Pincel.
HBRUSH *OldBrush = (HBRUSH*)pDC->SelectObject( &Brush );
// Seleccionamos el color del fondo al texto
pDC->SetBkColor( BackColor );
// Seleccionamos el color del texto
pDC->SetTextColor( ForeColor );
return (HBRUSH) mBrush ;
}
Para poder utilizar esta clase en Visual C++, pueden seguir los siguientes pasos:
![]() |
![]() |
|||
|
||||
![]() |
![]() |