Estou usando o OnDrawColumnCell sim.
Amigão, já resolvi meu problema. Posto abaixo o resultado que achei pra 
resolver esse problema:

  if gdFocused in State then
  begin
    MeuGrid.Canvas.Font.Color := clWhite;
    MeuGrid.Canvas.Brush.Color := clHighlight;
  end
  else
    if QMinhaQuery.FieldByName('MeuCampo').IsNull then
      MeuGrid.Canvas.Font.Color := clRed
    else
      MeuGrid.Canvas.Font.Color := clBlue;

Com esse código (simples) acima, eu pinto a linha de acordo com minhas 
condições, a célula ativa fica bem visível (fica na cor padrão) e quando meu 
grid perde o foco, a última célula que eu estava com foco, volta a ter a cor 
escolhida e não fica com a impressão de como ela estivesse ainda com o foco.

Claro que talvez ainda dê pra melhorar esse código acima, mas como estou 
correto contra o tempo, depois melhoro isso.
De qualquer forma, muito obrigado pela sua ajuda.

Bom trabalho a todos!
Jefferson


  ----- Original Message ----- 
  From: blcksun954 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Friday, October 26, 2007 12:48 PM
  Subject: [delphi-br] Re: DBGrid - cores - problemas para visualizar 
(desculpem)


  Você deve estar usando o OnDrawColumnCell para pintar as células como
  quer, não é?
  Se estiver, você testaria DBGrid1.Focused no mesmo lugar em que testa
  se a célula está com foco (ou selecionada).

  --- Em delphi-br@yahoogrupos.com.br, Jefferson - Fórum <[EMAIL PROTECTED]>
  escreveu
  >
  > Não.
  > Mas como eu usaria essa função? 
  > Pois estou querendo deixar a célula com fonte branca e fundo azul
  (como no padrão), e quando eu sair desse grid, gostaria que a última
  célula ativa não ficasse marcada, parecendo que está com foco.
  > 
  > ----- Original Message ----- 
  > From: blcksun954 
  > To: delphi-br@yahoogrupos.com.br 
  > Sent: Friday, October 26, 2007 12:18 PM
  > Subject: [delphi-br] Re: DBGrid - cores - problemas para
  visualizar (desculpem)
  > 
  > 
  > Já tentou usar a propriedade Focused da DBgrid?
  > 
  > --- Em delphi-br@yahoogrupos.com.br, Jefferson - Fórum <t_object@>
  > escreveu
  > >
  > > Pessoal, boa tarde!
  > > 
  > > Consigo alterar a fonte e o fundo da célula de um DBGrid, mas não
  > estou conseguindo fazer o seguinte:
  > > 
  > > - Tenho 3 Grid's na mesma tela, cada um tem cores que significam
  > alguma coisa. O problema é que quando mudo a cor da fonte, a célula
  > que está com foco não fica muito visível .
  > > Eu gostaria que a célula que está com foco, fique com o fundo azul
  > e a fonte branca. Mas que quando eu sair desse grid e ir ao outro, a
  > última célula volte às cores padrão. Pois nos meus testes, a última
  > célula fica parecendo que ainda está com foco.
  > > 
  > > Alguém pode me ajudar nisso?
  > > 
  > > Espero ter sido claro em minha dúvida e me desculpem voltar nesse
  > assunto novamente.
  > > 
  > > Obrigado, e bom trabalho a todos!
  > > 
  > > Jefferson
  > > 
  > > 
  > > [As partes desta mensagem que não continham texto foram removidas]
  > >
  > 
  > 
  > 
  > 
  > 
  > [As partes desta mensagem que não continham texto foram removidas]
  >



   

[As partes desta mensagem que não continham texto foram removidas]

Responder a