Ver Mensaje Individual
  #1  
Antiguo 04-04-2006
Palmiro Palmiro is offline
Miembro
 
Registrado: oct 2005
Ubicación: Argentina - Chaco
Posts: 57
Reputación: 19
Palmiro Va por buen camino
Smile Pintar Fila del DBGrid

hola gente, como andan....

Les presento el siguiente codigo

Código Delphi [-]
procedure TfrmCelulas.GrillaIntDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
if (Sender as TDBGrid).Datasource.DataSet.RecNo mod 2 = 0 then
        (Sender as TDBGrid).Canvas.Brush.Color := $00FFEFDF
      else
        (Sender as TDBGrid).Canvas.Brush.Color := clCream;
(Sender as TDBGrid).Canvas.Font.Color := clBlack;
(Sender as TDBGrid).DefaultDrawColumnCell(rect,DataCol,Column,State);
end;

Les cuento lo que hace...
Pinta la filas de una DDBgrid con colores intercalados. por ej: una fila de amarrillo clarito y la siguiente de celeste clarito.
Hasta aqui funciona todo de 10.
He aqui va mi pregunta....

El problema que tengo con este procedimiento es que cuando selecciona una fila no se distingue la fila seleccione a pesar de que la opción del multiselect del dbgrid este activada, la unica manera de que saber que fila es la seleccionada es atraves del indicador.
¿Habria alguna manera de que la fila seleccionada cambie de color o algo mas visible con ella sin que se altere el resto de la grilla y al deseleccionar vuelva a estar como antes? Ya que he probado varias cosas y ninguna me salieron.
Si me puede ayudar diciendome de que manera tendria que cambiar el procedimiento mencionado o que debo hacer, desde ya se lo agradesco.

Espero que me haberme dado a entender.
__________________
No es lo mejor, pero es lo que hay...
Responder Con Cita