Mudar a cor do registro selecionado do DBGrid

Delphi

10/03/2005

Olá pessoal tem como mudar a cor do registro que está selecionado no DBGrid, que geralmente usa o padrão do Windows?

Abraços,


Eniorm

Eniorm

Curtidas 0

Melhor post

Guilherme

Guilherme

28/03/2005

deu o seguinte erro !!!!

[Error] cli_fi.pas(1086): Undeclared identifier: ´DefaultDrawCell´



GOSTEI 1

Mais Respostas

Michael

Michael

10/03/2005

Olá amigo!

É muito simples resolver seu problema. No evento OnDrawColumn digite:


if gsSelected in State then
  DBGrid1.Canvas.Brush.Color := clRed;

DBGRid1.DefaultDrawCell(Rect, Column.Field, State);


Abraços![/code]


GOSTEI 0
Eniorm

Eniorm

10/03/2005

Amigo da um erro, Undeclared Identifier: gsSelected, vc poderia verificar seu codigo.

Abraços,


GOSTEI 0
Michael

Michael

10/03/2005

Olá Enio!

Desculpe, eu escrevi o código de cabeça. Procure no help do Delphi pelo evento OnDrawColumn e pelo tipo enumerado TGridState, ou algo similiar.

Não me lembro agora pois estou sem o Delphi nesta máquina.

[]´s


GOSTEI 0
Eniorm

Eniorm

10/03/2005

amigo, sem problema achei já o erro ehehehe nada grave apenas erro de digitação...


ao invés de gsSelected o correto é [b:55f4fc9e99]gdSelected[/b:55f4fc9e99]

Funcionou perfeitamente, obrigado!


GOSTEI 0
Guilherme

Guilherme

10/03/2005

estou usando assim :

if gDSelected in State then
DBGrid1.Canvas.Brush.Color := clRed;


so q nao acontece nada o q esta errado ???


GOSTEI 0
Michael

Michael

10/03/2005

estou usando assim : if gDSelected in State then DBGrid1.Canvas.Brush.Color := clRed; so q nao acontece nada o q esta errado ???


Vc deve forçar a DBGrid a redesenhar-se, usando o método DefaultDrawCell:

if gdSelected in State then 
  DBGrid1.Canvas.Brush.Color := clRed; 

DBGRid1.DefaultDrawCell(Rect, Column.Field, State);


[]´s


GOSTEI 0
POSTAR