Ver Mensaje Individual
  #5  
Antiguo 21-09-2010
Avatar de RebeccaGL
RebeccaGL RebeccaGL is offline
Miembro
 
Registrado: ene 2008
Posts: 199
Reputación: 17
RebeccaGL Va por buen camino
Mira ya decubri el error de porque pasaba eso, el problema es que yo pintaba los DDGrids en el evento DBGrid1DrawColumnCell y le quite y ahora funciona muy bien, el problema es que ahora tengo mis DBGrids Standard como vienen, la idea era "Pintar la fila seleccionada del DBGrid", ahi estaba el problema.

Código Delphi [-]
 
procedure TForm_BeEMPPRJ.DBGrid_MTRPRTDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  // Init
  DBGrid_MTRPRT.Canvas.Font.Style := [];
  DBGrid_MTRPRT.Canvas.Font.Color := clWindowText;
  if (DBGrid_MTRPRT.DataSource.DataSet.RecNo = MTRPRT_RecNo) then
    DbGrid_MTRPRT.Canvas.Brush.Color := $00EFD3C6
  else
    DbGrid_MTRPRT.Canvas.Brush.Color := clWindow;
  if (gdSelected in State) and
     (DBGrid_MTRPRT.Focused) then
  begin
    DBGrid_MTRPRT.Canvas.Font.Color := clWindow;
    DbGrid_MTRPRT.Canvas.Brush.Color := clHighlight;
  end;
  // Continue
  DBGrid_MTRPRT.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;

La variable "MTRMRD_RecNo" la actualizaba en el evento Dataset "DataChage" y el DBGrid lo refrescaba en el Evento AfterScroll, quite los eventos "DrawColumnCell" y ahora si funciona claro quite todos los eventos de pintado de grilla.

Como Podria pintar un DBGrid pero solo la Fila seleccionada, he visto ejemplos aca pero no funcionan alguna idea.


Gracias

Última edición por RebeccaGL fecha: 21-09-2010 a las 19:55:04.
Responder Con Cita