Home   Artículos   Recursos   Foros 
 

CStatic de colores en Visual C++

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
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 ;
}

Modo de uso

Para poder utilizar esta clase en Visual C++, pueden seguir los siguientes pasos:

  1. Agregar los archivos bpCstmLabel.h y bpCstmLabel.cpp al proyecto (Menu: Project >Add to project >Files).
  2. Instanciar los controles Static con la clase bpCstmLabel utilizando ClassWizard, tambien este procedimiento se puede hacer escribiendo el codigo necesario.


     

  3. Pueden cambiar los colores directamente, por ejemplo:

    m_label.BackColor = RGB( 255 , 0 , 0 ); // Rojo
    m_label.ForeColor = RGB( 0 , 0 , 255 ); // Azul
     
  4. Ejecutar!

 

Descargas

Acerca del Author

Nombre de usuario: MicroLogic©Software
Blog/URL:
Fecha de envío: 2005-04-20
Ultima Actualización:
Visualizaciones: 7559
Nedstat Basic - Web site estadisticas gratuito
El contador para sitios web particulares