Re: [delphi-br] Re: DBGrid - cores - problemas para visualizar (desculpem)

2007-10-26 Por tôpico Jefferson - Fórum
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 [EMAIL PROTECTED]
  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]



Re: [delphi-br] Re: DBGrid - cores - problemas para visualizar (desculpem)

2007-10-26 Por tôpico Jefferson - Fórum
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]



Re: [delphi-br] Re: DBGrid - cores - problemas para visualizar (desculpem)

2007-10-26 Por tôpico escobar
   // quando estiver selecionado inverte a cor do fore/background
   if gdSelected in state then begin
  oldColor := TDBGrid( Sender ).Canvas.Brush.Color;
  TDBGrid( sender ).Canvas.Brush.Color := TDBGrid( sender 
).Canvas.Font.Color;
  TDBGrid( sender ).Canvas.Font.Color := oldColor;
   end;


Luiz Escobar - Analista/Desenvolvedor:
WEB - HTML/JavaScript/PHP/MySQL 
WINDOWS - Delphi/ASSEMBLY/MySQL/xBase
SERVIDORES - CNA IntraNetWare4.11, LINUX-(RedHat9/Suse10.2), Windows 2K/XP


  - Original Message - 
  From: Jefferson - Fórum 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Friday, October 26, 2007 2:35 PM
  Subject: Re: [delphi-br] Re: DBGrid - cores - problemas para visualizar 
(desculpem)


  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 [EMAIL PROTECTED]
  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]