Foros del Web » Programación para mayores de 30 ;) » Programación General »

Color de Fuente y Background en static

Estas en el tema de Color de Fuente y Background en static en el foro de Programación General en Foros del Web. Holas; Me pueden guiar para lograr fijar el color de la fuente y el background en un static. LO que quiero es mostrar el resultado ...
  #1 (permalink)  
Antiguo 15/08/2005, 23:17
 
Fecha de Ingreso: diciembre-2004
Ubicación: Iquique, Chile
Mensajes: 150
Antigüedad: 19 años, 4 meses
Puntos: 0
Color de Fuente y Background en static

Holas;

Me pueden guiar para lograr fijar el color de la fuente y el background en un static.

LO que quiero es mostrar el resultado de una operación matemática, en un Static con fondo negro y la fuente de color verde.

Por el momento, puedo disponer en un static o edit crear el tipo de fuente, en bold, tamaño(altura y ancho).

Pero los colores en un control me tiene complicado, tengo esto:

Código:
    HDC hdc;
    PAINTSTRUCT ps;
    COLORREF colo = RGB(185,122,0);
    static HWND hDapDL = GetDlgItem(hwndDlg,IDC_DAP_DL);
    // IDC_DAP_DL es un Edit
Código:
    case WM_PAINT:
            hdc = BeginPaint(hDapDL,&ps);
            SetBkColor(hdc,colo);
            EndPaint(hDapDL,&ps);
            break;
Las agradesco una guia para poder llegar a esto.

Nos vemos.
  #2 (permalink)  
Antiguo 16/08/2005, 04:03
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Tenes que procesar el mensaje WM_CTLCOLORSTATIC que tiene en su wParam un HDC (donde podes configurar el fondo y el color) y en su lParam un HWND del control en cuestion.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 16/08/2005, 10:48
 
Fecha de Ingreso: diciembre-2004
Ubicación: Iquique, Chile
Mensajes: 150
Antigüedad: 19 años, 4 meses
Puntos: 0
Holas;

Sip, nuevamente equivocado, tengo lo siguiente:

Código:
BOOL CALLBACK DlgProc (HWND hwndDlg, UINT mensaje, WPARAM wParam, LPARAM lParam)
{
:
etc
    static HBRUSH EditBrush;
    static COLORREF BkEditColor;
    static COLORREF TextoColor = 0;
   
   switch (mensaje)
    {
        case WM_INITDIALOG:
             :
             etc...
              // inicializar colores texto y bk
            BkEditColor = RGB(185,122,0);//GetSysColor(COLOR_GRAYTEXT);
            EditBrush = CreateSolidBrush(BkEditColor);
            return TRUE;
            break;
       case WM_CTLCOLOREDIT:
            //hDapDL<------ control a colorear
            if((HWND)lParam == hDapDL)
            {
                SetTextColor((HDC)wParam,TextoColor);
                SetBkColor((HDC)wParam,BkEditColor);
                return EditBrush;//<----- 119 invalid conversion from `HBRUSH__*' to `int' 
            }
            break;
      case WM_CLOSE:
            DeleteObject(EditBrush);
             salir(hwndDlg);
             return 0;
El error que tengo ahora es este:

return EditBrush;//<----- 119 invalid conversion from `HBRUSH__*' to `int'

Te agradesco la ayuda que me estas brindando.

Nos vemos.
  #4 (permalink)  
Antiguo 16/08/2005, 11:00
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Supongo que con un casting bastara:

Código:
return (BOOL)EditBrush;
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #5 (permalink)  
Antiguo 16/08/2005, 13:58
 
Fecha de Ingreso: diciembre-2004
Ubicación: Iquique, Chile
Mensajes: 150
Antigüedad: 19 años, 4 meses
Puntos: 0
Holas;

Eternal Idol, te agradesco una vez más por tu ayuda.



Nos vemos.
  #6 (permalink)  
Antiguo 16/08/2005, 15:22
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
De nadas, me alegro de que te funcione
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:05.