Ola , vamos ver se eu tiro a sua duvia

"onDrawDataCell" ele muda a cor do campos do Grid, por exemple

tenho uma tabela q contem 6 campo da mega sena, e tenho um cadastr 
de 29 jogos e gostaria de rachurar os numeros q saiu na ultima 
megasena.
Olha como eu fiz.

Bom não sei se eu te ajudei a exclarecer sua duvida, me manda 
resposta para eu saber se ja entendeu.

procedure TfrmJogoDaSena.grdJogadorDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
Var
  nOldB, nOldF : TColor;
//  contA : integer;
Begin

  With  grdJogador  Do
  Begin
    n1  := Trim(DM.qryJogadorn1.Text);
    n2  := Trim(DM.qryJogadorn2.Text);
    n3  := Trim(DM.qryJogadorn3.Text);
    n4  := Trim(DM.qryJogadorn4.Text);
    n5  := Trim(DM.qryJogadorn5.Text);
    n6  := Trim(DM.qryJogadorn6.Text);

    nOldF := Canvas.Font.Color;
    nOldB := Canvas.Brush.Color;

    a  := trim(edtN1.Text);
    b := trim(edtN2.text);
    c := trim(edtN3.text);
    d := trim(edtN4.text);
    e := trim(edtN5.text);
    f := trim(edtN6.text);

  If (Column.Index = 1) and Not (gdFocused in State) Then
  Begin
    If n1 = (a)  Then
    Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
        contadora;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 2) and Not (gdFocused in State) Then
  Begin
    If n2 = (a)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
        contadora;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 3) and Not (gdFocused in State) Then
  Begin
    If n3 = (a)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       contadora;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 4) and Not (gdFocused in State) Then
  Begin
    If n4 = (a)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
        contadora;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 5) and Not (gdFocused in State) Then
  Begin
    If n5 = (a)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       contadora;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 6) and Not (gdFocused in State) Then
  Begin
    If n6 = (a)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       contadora;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
 //////////////////////
  If (Column.Index = 1) and Not (gdFocused in State) Then
  Begin
    If n1 = (b)  Then
    Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       contadorb;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 2) and Not (gdFocused in State) Then
  Begin
    If n2 = (b)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       contadorb;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 3) and Not (gdFocused in State) Then
  Begin
    If n3 = (b)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       contadorb;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 4) and Not (gdFocused in State) Then
  Begin
    If n4 = (b)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       contadorb;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 5) and Not (gdFocused in State) Then
  Begin
    If n5 = (b)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       contadorb;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 6) and Not (gdFocused in State) Then
  Begin
    If n6 =(b)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       contadorb;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
 //////////////////////
  If (Column.Index = 1) and Not (gdFocused in State) Then
  Begin
    If n1 = (c)  Then
    Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       contadorc;
    End;
    If (gdFocused in State) Then
      Canvas.Font.Color := clWhite;
    DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 2) and Not (gdFocused in State) Then
  Begin
    If n2 = (c)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       //contadorc;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 3) and Not (gdFocused in State) Then
  Begin
    If n3 = (c)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       //contadorc;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 4) and Not (gdFocused in State) Then
  Begin
    If n4 = (c)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       //contadorc;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 5) and Not (gdFocused in State) Then
  Begin
    If n5 = (c)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       //contadorc;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 6) and Not (gdFocused in State) Then
  Begin
    If n6 =(c)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       //contadorc;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
 //////////////////////
  If (Column.Index = 1) and Not (gdFocused in State) Then
  Begin
    If n1 = (d)  Then
    Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       //contadord;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 2) and Not (gdFocused in State) Then
  Begin
    If n2 = (d)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       //contadord;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 3) and Not (gdFocused in State) Then
  Begin
    If n3 = (d)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       //contadord;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 4) and Not (gdFocused in State) Then
  Begin
    If n4 = (d)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       //contadord;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 5) and Not (gdFocused in State) Then
  Begin
    If n5 = (d)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       //contadord;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 6) and Not (gdFocused in State) Then
  Begin
    If n6 =(d)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       //contadord;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;

 //////////////////////
  If (Column.Index = 1) and Not (gdFocused in State) Then
  Begin
    If n1 = (e)  Then
    Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       //contadore;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 2) and Not (gdFocused in State) Then
  Begin
    If n2 = (e)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       //contadore;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 3) and Not (gdFocused in State) Then
  Begin
    If n3 = (e)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       //contadore;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 4) and Not (gdFocused in State) Then
  Begin
    If n4 = (e)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       //contadore;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 5) and Not (gdFocused in State) Then
  Begin
    If n5 = (e)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       //contadore;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 6) and Not (gdFocused in State) Then
  Begin
    If n6 =(e)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       //contadore;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
         //////////////////////
  If (Column.Index = 1) and Not (gdFocused in State) Then
  Begin
    If n1 = (f)  Then
    Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       //contadorf;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 2) and Not (gdFocused in State) Then
  Begin
    If n2 = (f)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       //contadorf;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 3) and Not (gdFocused in State) Then
  Begin
    If n3 = (f)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       //contadorf;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 4) and Not (gdFocused in State) Then
  Begin
    If n4 = (f)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       //contadorf;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 5) and Not (gdFocused in State) Then
  Begin
    If n5 = (f)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       //contadorf;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;
  If (Column.Index = 6) and Not (gdFocused in State) Then
  Begin
    If n6 =(f)  Then
     Begin
       Canvas.Brush.Color := clInfoBk;
       Canvas.Font.Color  := nOldF;
       //contadorf;
     End;
     If (gdFocused in State) Then
       Canvas.Font.Color := clWhite;
     DefaultDrawColumnCell(Rect, Datacol, Column, State);
  End;

        Canvas.Brush.Color := nOldB;
  //  label8.Caption:=IntToStr(conta);
   End;


--- Em delphi-br@yahoogrupos.com.br, Evaldo <[EMAIL PROTECTED]> 
escreveu
>
> Estou dando manutenção em um sistema que possui um DBgrid com o 
evento  "onDrawDataCell", que nunca é disparado. Pergunto:
> 
> Qual a utilidade do onDrawDataCell do DBGrid? e quando que ele é 
disparado? pesquisei no help, mas está meio confuso, ele diz para 
não usar. encontrei o seguinte: 
> 
> "Do not write an OnDrawDataCell event handler. OnDrawDataCell is
> 
> obsolete and included for backward compatibility. Instead, write an
> 
> OnDrawColumnCell event handler." 
> 
> 
> 
> 
>       Flickr agora em português. Você clica, todo mundo vê.
> http://www.flickr.com.br/
> 
> [As partes desta mensagem que não continham texto foram removidas]
>


Responder a