Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Cambiar el color de fuente en TDBGID (https://www.clubdelphi.com/foros/showthread.php?t=60438)

KAYO 01-10-2008 18:12:19

Cambiar el color de la fuente de una fila en TDBGRID
 
Quisiera cambiar el color de la fila de un TDBGRID dependiendo de una condición.

Conoceis algún link con algún tutorial acerca de este tópico?

Gracias por vuestras respuestas!!!

Caro 01-10-2008 18:20:40

Hola Kayo, si utilizas el buscador veras que hay bastante sobre cambiar el color a filas de un DbGrid http://www.clubdelphi.com/foros/sear...archid=1502418 .

Saluditos

KAYO 02-10-2008 12:35:37

Cambiar el color de fuente en TDBGID
 
Tengo el siguiente código

procedure TFMantenimientoVentas.GFacturasDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if DM.THisFac.RecordCount > 0 then begin
if state <> [gdfocused] then begin
with Sender as TExtendedGrid do begin
if DM.THisFacAnulado.AsString = 'X' then GFacturas.canvas.Font.Color:=clRed
else GFacturas.canvas.Font.Color := clBlack;
end;
end;
GFacturas.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
end;

El caso es que al estar sobre un registro y ser la barra del registro activo azul y la fuente negra no se ven bien los datos del registro.

Antes de modificar ese evento los datos del registro activo salen en color blanco sobre la barra del registro activo en color azul, con lo que se distinguen perfectamente los datos del registro.

Espero hacerme entender con claridad.. Y AGRADEZCO VUESTRA AYUDA!!!

Caro 02-10-2008 13:00:03

Hola, entonces debes cambiar el color a la barra de selección o la fuente, preguntando por el parametro state.

Código Delphi [-]
 if (gdSelected in State) then
  begin
     DBGrid1.Canvas.Brush.Color := clYellow;
     DBGrid1.Canvas.Font.Color := clWhite;
 
     DBGrid1.DefaultDrawColumnCell(rect,DataCol,Column,State);
  end;

Saluditos

Caro 02-10-2008 13:01:40

Cuando pongas codigo en tus mensajes, utiliza etiquetas para que se entienda mejor tu codigo.

Saluditos

Neftali [Germán.Estévez] 02-10-2008 14:58:37

Que con 67 mensajes en los foros, que todavía no pongas etiquetas en el código y repitas preguntas en diferentes hilos me parece bastante GRAVE!

Por favor revisa la Guía de estilo de los foros.

Juntando hilos.... :mad::mad::mad::mad:

KAYO 02-10-2008 16:35:17

Errar de humanos, rectificar de sabios.....

Disculpad mi ignorancia..... si creé un nuevo hilo fue porque el link que me recomendaron aparece huérfano. De verdad que a veces nos ponemos a programar y olvidamos leer lo básico...(Como por ejemplo poner el código en un hilo).

AGRADEZCO Y RESPETO MOGOLLÓN VUESTRA AYUDA!!! por lo que intentaré ser mas acertado en mis preguntas.

Gracias de nuevo al foro por vuestra valiosa ayuda!!!


La franja horaria es GMT +2. Ahora son las 06:33:50.

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