Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-11-2003
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cita:
sebas78 comentó:

Código:
procedure TFPuma0058.DBGrid1DrawDataCell(Sender: TObject;
  const Rect: TRect; Field: TField; State: TGridDrawState);
begin
  inherited;
  DBItems.Canvas.Brush.color := clred;
  DBItems.Canvas.FillRect(rect);
  DBItems.defaultdrawdatacell(Rect,Field,State);
end;
Puedo estar mal, y me baso en que el editor regularmente mantiene bien la correspondencia de nombres entre objetos/eventos creados para este objeto, aunque no es una regla, pero me parece que estas asignando el color a un objeto diferente del que maneja el evejto.

Para evitar esta posibilidad, y si tenes el evento asociado a varias rejillas, creo que podes valerte del Sender, no?

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #2  
Antiguo 22-07-2006
[jesusomarsanche] jesusomarsanche is offline
Miembro Premium
 
Registrado: may 2006
Posts: 11
Poder: 0
jesusomarsanche Va por buen camino
ami me funciono de la siguiente forma

utilice el codigo expuesto anteriormente pero lo cambie a los eventos del grid
getcolorcelda
getcolortexto

y reviso que la columna de la celda sea la que quiero cambiar el color utilizando acol para la posicion de la columna

Código:
procedure Tfrmvalidar.grdpreprogGetColorCelda(Sender: TObject;
  Column: TColumn; ARow, ACol: Integer; AState: TGridDrawState;
  ABrush: TBrush; AFont: TFont);
begin
   if preprog.FieldByName('error').AsInteger = 1 then  begin
      if grdpreprog.Fields[acol].DisplayName = 'COMPONENTE' then begin
        grdpreprog.Canvas.Brush.Color :=claqua;
      end;
   end;
end;
procedure Tfrmvalidar.grdpreprogGetTextoCelda(Sender: TObject;
  Column: TColumn; ARow, ACol: Integer; var Texto: String);
begin
   if preprog.FieldByName('error').AsInteger = 1 then  begin
     if grdpreprog.Fields[acol].DisplayName = 'COMPONENTE' then begin
       grdpreprog.Canvas.Font.Color := clRed;
       grdpreprog.Canvas.Font.Style := [fsBold];
     end;
   end;
end;
espero te sea de utilidad
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 05:51: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
Copyright 1996-2007 Club Delphi