Fiz um sistema de telemarketing onde o usuário lançava o contato com o cliente, e a hora e data de retorno. Ao vencer a data e hora de retorno a linha do DBGrid mudava de cor, abaixo esta o codigo que fiz.
procedure TovF_PsqTelemark.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var viLeft: integer; vsText: string; begin with DBGrid1 do if ((DBGrid1.Focused) and not (gdSelected in State)) or (not DBGrid1.Focused) then if oCDS_Tele.FieldByName('Tele_DataRetorno').AsDateTime <> 0 then begin if oCDS_Tele.FieldByName('Tele_HoraRetorno').AsDateTime <> 0 then begin if (oCDS_Tele.FieldByName('Tele_DataRetorno').AsDateTime <= Date) and (oCDS_Tele.FieldByName('Tele_HoraRetorno').AsDateTime <= Time) then begin Canvas.Brush.Color := $00C4C4FF; Canvas.FillRect(Rect); end; end else if oCDS_Tele.FieldByName('Tele_DataRetorno').AsDateTime <= Date then begin Canvas.Brush.Color := $00E3E8EA; Canvas.FillRect(Rect); end; if Assigned(Column.Field) then begin vsText := Column.Field.DisplayText; //** Alinhamento do texto do campo - calcula a posição ESQ if Column.Alignment = taLeftJustify then viLeft := Rect.Left + 2 else if Column.Alignment = taRightJustify then viLeft := Rect.Right - Canvas.TextWidth(vsText) - 3 else viLeft := Rect.Left + ((Rect.Right - Rect.Left) div 2) - (Canvas.TextWidth(vsText)) div 2; //** Escreve o texto do campo dentro da célula Canvas.Font.Color := Column.Font.Color; Canvas.TextRect(Rect, viLeft, Rect.Top+2, vsText); end; end; end; Espero ter ajudado. Thiago C. Santos Desenvolvimento Rhede Sistemas (45) 3035-6606 [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html