Fórum Mudar a Cor das Linhas de Grade do DBGrid #284995
16/06/2005
0
Alguém saberia como mudar a cor das linhas de grade do DBGrid???
Valeu Galera!!!!!!!!!!!!!!!
Marcelo Ribeiro
Marceloribeiro
Curtir tópico
+ 0Posts
20/06/2005
Marceloribeiro
eu sei que aqui só tem fera..... pô....
Gostei + 0
20/06/2005
Pro-luck
Aperece aos montes...
Espero q consiga...
Gostei + 0
21/06/2005
Marceloribeiro
O código p/ mudar a cor da linha selecionada e já tenho...
O que eu procuro, é uma forma de deixar aquelas linhas (cinza) da grade do DBGrid tudo preto, ou seja, no lugar do cinza deixar preto, será que é possível???? será que uma coisa tão básica assim o Delphi não permite?
Agradeço a ajuda!!!
Gostei + 0
22/06/2005
Massuda
Neste caso, você teria que tirar as linhas do grid (tire as linhas da propriedade Options do grid) e passar a desenhar as linhas você mesmo no evento OnDrawColumnCell (no caso do TDBGrid) ou OnDrawCell (caso do TStringGrid e do TDrawGrid).
Gostei + 0
02/08/2005
Macario
Neste caso, você teria que tirar as linhas do grid (tire as linhas da propriedade Options do grid) e passar a desenhar as linhas você mesmo no evento OnDrawColumnCell (no caso do TDBGrid) ou OnDrawCell (caso do TStringGrid e do TDrawGrid).[/quote:1377d9361e]
Tipo seria usando a variavel Rect???
E nesse caso há alguma perca de performance?
Gostei + 0
02/08/2005
Massuda
[quote:6620bc08fd=´Macario o Aspone´]E nesse caso há alguma perca de performance?[/quote:6620bc08fd]Não a ponto de ser perceptível.
Gostei + 0
03/08/2005
Macario
Neste caso preciso aprender sobre ela ´TRect´.
Tipo alguem pode indicar algum material sobre o assunto?
Grato.
Gostei + 0
03/08/2005
Fx|hand
eu usei o StringGrid... + se vc usar o DBGrid tbm dah na mesma !!!
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
r: TRect;
begin
{PEGANDO A LOCALIZAÇÃO DA LINHA}
r.Left := StringGrid1.ColWidths[0] + 2;
r.Top := StringGrid1.RowHeights[0];
r.Bottom := StringGrid1.RowHeights[0] * 2;
r.Right := StringGrid1.Width;
//MUDANDO A COR PRA VERMELHO
StringGrid1.Canvas.Brush.Color := clRed;
//PREENCHENDO COM O VERMELHO A LOCALIZAÇÃO DA LINHA INTEIRA
StringGrid1.Canvas.FillRect(r);
//MUDANDO PRA BSCLEAR
StringGrid1.Canvas.Brush.Style := bsClear;
//MUDANDO A COR DA FONTE
StringGrid1.Canvas.Font.Color := clWhite;
//IMPRIMINDO O TEXTO DA CELULA 1,1
//CENTRALIZADO DE CIMA PRA BAIXO
StringGrid1.Canvas.TextOut(r.Left,(r.Top + r.Bottom -
StringGrid1.Canvas.TextHeight(StringGrid1.Cells[1,1])) div 2,StringGrid1.Cells[1,1]);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
//PREENCHENDO ALGUMAS CELULAS
StringGrid1.Rows[1].Text := ´teste´;
StringGrid1.Cols[1].Text := ´teste´;
StringGrid1.Cells[1,1] := ´teste´;
end;
Byee
Gostei + 0
04/08/2005
Macario
Tipo o tempo ta curto, ultimamente. :roll:
Gostei + 0
15/12/2005
Emrj
Valeu FX|HanD !!!
Me ajudou muito!
fiz somente uma adaptação
[b:269edbc866]
if ( ACol mod 2) > 0 then
begin
sgMapa.Canvas.Brush.Color:=$0053A9FF;
sgMapa.Canvas.Font.Color :=clBlack;
sgMapa.Canvas.FillRect(Rect);
sgMapa.Canvas.TextOut(Rect.Left+2, Rect.Top+10, sgMapa.Cells[Acol,ARow]);
end;[/b:269edbc866]
Desse jeito cada celula fica de uma cor.
Vlw!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)