Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-09-2011
chinchan chinchan is offline
Miembro
 
Registrado: abr 2006
Posts: 109
Poder: 19
chinchan Va por buen camino
Cambiar el color de las celdas seleccionadas de un DrawGrid

Hola a Todos. ¿Cómo puedo cambiar el color de fondo (background) de las celdas seleccionadas de un DrawGrid?. El azul que sale por defecto coincide prácticamente con el color de fuente que utilizo. Muchas Gracias.
Responder Con Cita
  #2  
Antiguo 15-09-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola chinchan.

Un ejemplo con un StringGrid:
Código:
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
      int ARow, TRect &Rect, TGridDrawState State)
{
  if (State.Contains(gdFocused)) {
    StringGrid1->Canvas->Brush->Color = clRed;
    StringGrid1->Canvas->FillRect(Rect);
    StringGrid1->Canvas->Font->Color = clYellow;
    DrawText(StringGrid1->Canvas->Handle,StringGrid1->Cells[ACol][ARow].c_str(),
             StringGrid1->Cells[ACol][ARow].Length(),&Rect,
             DT_NOCLIP | DT_SINGLELINE);
  }
}
Te aclaro que al abandonar el foco del TStringGrid, retornará a su color original.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 15-09-2011 a las 18:24:53.
Responder Con Cita
  #3  
Antiguo 15-09-2011
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Cita:
Empezado por chinchan Ver Mensaje
...¿Cómo puedo cambiar el color de fondo (background) de las celdas seleccionadas de un DrawGrid?...
Cita:
Empezado por ecfisa Ver Mensaje
...Te aclaro que al abandonar el foco del TStringGrid, retornará a su color original...
Bueno, creo que la pregunta no iba por la celda que tenga el foco sino por las celdas seleccionadas.

El ejemplo de ecfisa es muy bueno pero si cambiamos gdFocused por gdSelected conseguimos lo que quiere chinchan .
Por otro lado, yo prefiero usar Sender para referirme al objeto Grid correspondiente, así la misma función puede responder a eventos de distintos Grids... Son manías mías

Propongo esta variante:
Código:
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
      int ARow, TRect &Rect, TGridDrawState State)
{
  TStringGrid * Grid = dynamic_cast<TStringGrid*>(Sender);
  if (State.Contains(gdSelected) && Grid) {
    Grid->Canvas->Brush->Color = clRed;
    Grid->Canvas->FillRect(Rect);
    Grid->Canvas->Font->Color = clYellow;
    DrawText(Grid->Canvas->Handle, Grid->Cells[ACol][ARow].c_str(),
             Grid->Cells[ACol][ARow].Length(), &Rect,
             DT_NOCLIP | DT_SINGLELINE);
  }
}
Saludos.
Responder Con Cita
  #4  
Antiguo 18-09-2011
chinchan chinchan is offline
Miembro
 
Registrado: abr 2006
Posts: 109
Poder: 19
chinchan Va por buen camino
Sabía que me ibais a solucinar el problema. Genial. Muchas Gracias (otra vez).
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Celdas seleccionadas en un DrawGrid chinchan C++ Builder 6 02-09-2011 02:49:33
leer celdas de un DrawGrid byfali Varios 2 15-02-2009 22:37:31
Varias celdas seleccionadas en un DrawGrid eljose OOP 0 24-09-2007 19:33:47
Color de las lineas de las celdas de un StringGrid richi OOP 4 23-08-2006 19:26:56
Color de fondo en celdas de Excel acalderonr Servers 2 16-05-2003 02:38:31


La franja horaria es GMT +2. Ahora son las 02:49:48.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi