Alterar Cor Na Linha Selecionada.

23/12/2005

Boas Pexoal.

Gostava de saber como poxo alterar a cor da linha selecionado numa dbgrid.

Obrigado, e Bom Natal para voz todos.


Rui Lisboa

Respostas

23/12/2005

Marco Salles

Mas , usar as propriedades Options do Grid não resolve :?: :?: :?:

Por exemplo:

Código:
No Objecto Inspector da Grid em Abra oPTIONS.. Sete a Propriedade 
DgRowSelectd Para True e a propriedade DgAlwShowSelected para True 


:cry: :cry:
o incoveniente desta sugestão , e que voce não consegue digitar na Grid e alem do mais a cor em destaque e o azul Padrão..
Mas quanto ao fato de não poder digitar , alguns codigos extras resolvem o Porblema

[b:14fbef753f]Este é um ataque mais simples do problema , o outro acredito sera usando o evento onDBGrid1DrawDataCell [/b:14fbef753f]

Exemplo:

Código: 
implementation 

var 
i:Integer=1; 


procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; 
  DataCol: Integer; Column: TColumn; State: TGridDrawState); 
begin 
If (Table1.RecNo) = i then 
begin 
  DBGrid1.Canvas.Font.Color:= clWhite; 
  DBGrid1.Canvas.Brush.Color:= clGreen; 
end 
else 
begin 
DBGrid1.Canvas.Font.Color:= clBlack; 
DBGrid1.Canvas.Brush.Color:= clWhite; 
end; 
DBGrid1.Canvas.FillRect(Rect); 
DBGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top,Column.Field.AsString); 
end; 


procedure TForm1.Table1AfterScroll(DataSet: TDataSet); 
begin 
i:=Table1.RecNo; 
end;



[b:14fbef753f]Pode ser que em alguns bancos , isto ainda não funcione , devido a Propriedade RecNo [/b:14fbef753f]


Responder Citar

26/12/2005

Rui Lisboa

if (dm.q_contactosidcontacto.Value mod 2)<>0 then
Begin
dbgrid.Canvas.Brush.Color:=clWhite;
dbgrid.DefaultDrawColumnCell(Rect,DataCol,Column,State);
End
else
Begin
dbgrid.Canvas.Brush.Color:=$0080FFFF;
dbgrid.DefaultDrawColumnCell(Rect,DataCol,Column,State);
End;

Este é o meu codigo para alternar a cor das linhas da dbgrid, agora gostava de saber como alterar a cor da linha selecionada.


Responder Citar

26/12/2005

Marco Salles

Amigo Rui Lisboas , eu não sei se voce é de Lisboa ou é so sobrenome...
Acontece que o seu texto esta um pouc confuso , pois [b:8525326757]alternar[/b:8525326757] tem conotação diferente do que [b:8525326757]alterar[/b:8525326757]

Gostava de saber como poxo[size=18:8525326757][b:8525326757] alterar [/b:8525326757][/size:8525326757]a cor da linha selecionado numa dbgrid.

Este é o meu codigo para alternar a cor das linhas da dbgrid, agora gostava de saber como [b:8525326757][size=18:8525326757]alterar[/size:8525326757][/b:8525326757] a cor da linha selecionada.



afinal é alternar ou Alterar :?: :?: :?: ... Se for[b:8525326757] Alterar[/b:8525326757] o código que lhe passei posso garantir que funciona.


Responder Citar

26/12/2005

Marco Salles

Amigo Rui Lisboas , eu não sei se voce é de Lisboa ou é so sobrenome...
Acontece que o seu texto esta um pouc confuso , pois [b:cbbef7c2dd]alternar[/b:cbbef7c2dd] tem conotação diferente do que [b:cbbef7c2dd]alterar[/b:cbbef7c2dd]

[color=red:cbbef7c2dd]Primeira Citação: de Ru Lisboa[/color:cbbef7c2dd]
Gostava de saber como poxo [b:cbbef7c2dd][size=18:cbbef7c2dd]alterar[/size:cbbef7c2dd][/b:cbbef7c2dd] a cor da linha selecionado numa dbgrid.


[color=red:cbbef7c2dd]Segunda Citação: De Rui Lisboa[/color:cbbef7c2dd]
Este é o meu codigo para [b:cbbef7c2dd][size=18:cbbef7c2dd]alternar[/size:cbbef7c2dd][/b:cbbef7c2dd] a cor das linhas da dbgrid, agora gostava de saber como alterar a cor da linha selecionada.




afinal é alternar ou Alterar :?: :?: :?: :?:
... Se for [b:cbbef7c2dd][size=18:cbbef7c2dd]Alterar[/size:cbbef7c2dd][/b:cbbef7c2dd] o código que lhe passei posso garantir que funciona.


Responder Citar

26/12/2005

Rui Lisboa

Então é axim: Para por uma linha de cada cor é o cod anterior, mas kando eu seleciono uma linha eu kero k meta a linha selecionada da cor k eu pretendo.[/img]


Responder Citar

26/12/2005

Marco Salles

Então é axim: Para por uma linha de cada cor é o cod anterior, mas kando eu seleciono uma linha eu kero k meta a[b:555a06e078] linha selecionada [/b:555a06e078]da cor k eu pretendo.


O Tópico a seguir não se refere ao mesmo problema ou não to entendendo nada ????

http://forum.devmedia.com.br/viewtopic.php?t=63314&highlight=dbgrid1+canvas+fillrect+rect&sid=ee7f6455e0d03ed2b497f7e7d1408963

Alguem por favor me socorra :cry: :cry: :cry:


Responder Citar