Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Pintar toda una fila de un DBGrid (https://www.clubdelphi.com/foros/showthread.php?t=31198)

Luciano M. 02-05-2006 01:40:42

Pintar toda una fila de un DBGrid
 
:confused: Hola quisiera saber si alguien me puede explicar como hacer para que la fila que esta en foco de un dbgrid, este de un color distinto al azul que tiene por defecto delphi. Estuve probando con codigos y si bien funcionan para cuando los comparo contra algun valor no me sirven para cuando navego por la grilla, ya que solo se pinta una celda de una columna y no todo el registro! Gracias! y saludos!

Bicho 02-05-2006 08:37:39

Hola, he de entender que lo conseguiste? pero que sólo te falta tener todo el row seleccionado? Porque si es así, te has dejado la parte más fácil amigo.

El DBGrid tiene la propiedad: Options.RowSelect := True y listo.

Saludos

Lucciano 02-05-2006 18:35:16

Sigue mal
 
Gracias por contestar, pero te comento que la propiedad de RowSelected ya la tengo en true, entonces lo que me sigue sucediendo es que la primer columna del registro seleccionado me aparece en rojo y el resto de las columnas del registro estan en color azul. Gracias :(

JavierB 02-05-2006 19:07:22

Hola Luciano M.

Había puesto un código por ahí pero debe haberse perdido, así que lo repito:
Código Delphi [-]
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
  Num: Integer;
  R: TRect;
begin
  Num:=TStringGrid(DBGrid1).Row;
  R:=TStringGrid(DBGrid1).CellRect(DataCol,Num);
  if R.Top=Rect.Top then
    with DBGrid1 do
    begin
      if (gdFocused in State) then
        Canvas.Font.Color:=clWhite
      else
        Canvas.Font.Color:=clRed;
      Canvas.Font.Style:=[fsBold];
      DefaultDrawColumnCell(Rect,DataCol,Column,State);
    end;
end;
Espero que te sirva. Saludos, :cool:

Lucciano 02-05-2006 22:30:24

Gracias!
 
GRacias, con una pequeña modificacion quedo como yo queria! Un abrazo!:)


La franja horaria es GMT +2. Ahora son las 01:22:27.

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