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] >