Array
(
)

Alterar Cor Na Linha Selecionada.

Rui Lisboa
   - 23 dez 2005

Boas Pexoal.

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

Obrigado, e Bom Natal para voz todos.


Marco Salles
   - 23 dez 2005

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

Por exemplo:

Código:
#Código

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



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

Este é um ataque mais simples do problema , o outro acredito sera usando o evento onDBGrid1DrawDataCell

Exemplo:

#Código
Código: 
implementation

var
i:Integer=1;


#Código
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;


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



Pode ser que em alguns bancos , isto ainda não funcione , devido a Propriedade RecNo


Rui Lisboa
   - 26 dez 2005

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.


Marco Salles
   - 26 dez 2005

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

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


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



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


Marco Salles
   - 26 dez 2005

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

Primeira Citação: de Ru Lisboa

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


Segunda Citação: De Rui Lisboa

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




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


Rui Lisboa
   - 26 dez 2005

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]


Marco Salles
   - 26 dez 2005


Citação:
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.


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