Programación General > C++ Builder
Poner color a las filas del DBGrid
			Britomartis:
			
			Hola kiero poner color a las filas del DBGrid (una fila clara y otra oscura) para no mezclarlas al leer. Cómo lo puedo hacer. Y cómo puedo hacer para que cuadno se pase el cursor por encima de una fila esta cambie de color. Muchas gracias por ayudarme.
		
			juanC2:
			
			void __fastcall TForm1::DBGrid1DrawDataCell(TObject *Sender, const TRect &Rect, TField *Field, TGridDrawState State)
{
  if ((Table1->RecNo % 2) == 0)
     DBGrid1->Canvas->Brush->Color = clGray;
  else
       DBGrid1->Canvas->Brush->Color = clWhite;
  if(State.Contains(gdSelected))
  { DBGrid1->Canvas->Font->Color = clWhite;
    DBGrid1->Canvas->Brush->Color = clNavy;
  }
  DBGrid1->DefaultDrawDataCell(Rect, Field, State);
}
		
			nicolas2109:
			
			Buenos días:
Soy bastante novato y no logro que funcione el evento.
Sirve,  ¿ si uno de los campos de la fila tiene un valor ?
No encuentro que datos hay que pasar a la función.
¿ que variables o parámetros hay que pasar ?.
Saludos
		
			chenech:
			
			No hay que pasar nada a la función, ve a propiedades del grid, busca el evento drawdatacell y copia el código que ha puesto juanC2, pero copia solo el código de la función, lo que está dentro de las { } y si el grid no se llama Grid1, pues lo cambias por el nombre que le hayas puesto.
Un saludo.
		
			nicolas2109:
			
			Correcto Chenech, el evento esta bien. Problema que variables uso para llamarlo-> TRect &Rect, TField *Field, TGridDrawState State
Saludos
		
Navegación
[#] Página Siguiente
Ir a la versión completa