Ver Mensaje Individual
  #1  
Antiguo 13-11-2004
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Reputación: 21
AGAG4 Va por buen camino
Como Pintar Solo la Celda y No Toda la Columna de la Celda de un dbGrid??

Como Pintar Solo la Celda y No Toda la Columna de la Celda de un dbGrid??

Lo que pasa es que quiero cambiar de fondo una Celda uso el siguiente código:
Código Delphi [-]
procedure TfFacturas.gridFacDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
{ gdSelected
   gdFocused }
  if not PVentaCheck then
    if (Column.Index = 3) and (State = [gdSelected]) then begin
      //Pintar el Color de la Letra
      gridFac.Canvas.Font.Color := clBlack;    
      //Pintar el Fondo de la Celda
      gridFac.Canvas.Brush.Color := clSilver;
      gridFac.DefaultDrawColumnCell(rect,DataCol,Column,State);
    end;
end;

Con el código de arriba no me pinta nada aun así si esta seleccionada la Celda No. 3, El problema es que si le quito el Tipo de Estado "State = []" si me lo colorea pero a parte si abro un nuevo registro me pinta la celda del Nuevo registro de la misma Celda por lo que lo unico que quiero es que no me pinte nada abajo siempre y cuando se cumpla la condicion if not PVentaCheck then.

Espero me haya Explicado.
Cualquier sugerencia se los agradezco.
Responder Con Cita