Terceira cor em dbgrid zebrado
O código abaixo deixa um dbgrid zebrado.
Gostaria de saber se tem como colocar uma terceira cor. Sendo que essa terceira cor so apareceria na linha em que estivese posicionado.
Tentei colocar True em dgRowSelect mas não funcionou.
Valeu a força!!!
JR.
If odd(data.IBTFun.RecNo) then
begin
DBGrid1.Canvas.Font.Color:= clBlack;
DBGrid1.Canvas.Brush.Color:= $00F8E2D6;
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;
Gostaria de saber se tem como colocar uma terceira cor. Sendo que essa terceira cor so apareceria na linha em que estivese posicionado.
Tentei colocar True em dgRowSelect mas não funcionou.
Valeu a força!!!
JR.
If odd(data.IBTFun.RecNo) then
begin
DBGrid1.Canvas.Font.Color:= clBlack;
DBGrid1.Canvas.Brush.Color:= $00F8E2D6;
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;
Jrjoliv2003
Curtidas 0
Respostas
Uildenei
25/09/2004
insere o seguinte pedaço de codigo:
//acerta cores da linha selecionada
if dbgrid1.HighlightCell(, , , State) then
begin
Canvas.Font.Color :=clWhite;
Canvas.Brush.Color:=clBlack;
end //acerta cores de campos ordenados
//acerta cores da linha selecionada
if dbgrid1.HighlightCell(, , , State) then
begin
Canvas.Font.Color :=clWhite;
Canvas.Brush.Color:=clBlack;
end //acerta cores de campos ordenados
GOSTEI 0
Jrjoliv2003
25/09/2004
Não deu certo!!!
if dbgrid1.HighlightCell(, , , State) then
begin
Canvas.Font.Color :=clWhite;
Canvas.Brush.Color:=clBlack;
Não reconhece ´HighlightCell´.
JR.
if dbgrid1.HighlightCell(, , , State) then
begin
Canvas.Font.Color :=clWhite;
Canvas.Brush.Color:=clBlack;
Não reconhece ´HighlightCell´.
JR.
GOSTEI 0
Fabio.hc
25/09/2004
Tente assim:
If odd(data.IBTFun.RecNo) then begin DBGrid1.Canvas.Font.Color:= clBlack; DBGrid1.Canvas.Brush.Color:= $00F8E2D6; end else begin DBGrid1.Canvas.Font.Color:= clBlack; DBGrid1.Canvas.Brush.Color:= clWhite; end; if gdSelected in State then begin DBGrid1.Canvas.Font.Color:= clBlack; DBGrid1.Canvas.Brush.Color:= clAqua; end; DBGrid1.Canvas.FillRect(Rect); DBGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top,Column.Field.AsString); end;
GOSTEI 0
Jrjoliv2003
25/09/2004
Beleza!!! Resolvido. Coloquei assim:
If odd(data.IBTCon.RecNo) then
begin
DBGrid1.Canvas.Font.Color:= clBlack;
DBGrid1.Canvas.Brush.Color:= $00F8E2D6;
end
else
begin
DBGrid1.Canvas.Font.Color:= clBlack;
DBGrid1.Canvas.Brush.Color:= clWhite;
end;
if gdSelected in State then
begin
DBGrid1.Canvas.Font.Color:= clWhite;
DBGrid1.Canvas.Font.Style:=[fsBold];
DBGrid1.Canvas.Brush.Color:= $00DF5400;
end;
DBGrid1.Canvas.FillRect(Rect);
DBGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top,Column.Field.AsString);
Valeu a força!!!
Eu postei uma mensagem sobre Ficha de chamada em QuickReport. Se puder ajudar agradeço, estou penando para fazer...
JR.
If odd(data.IBTCon.RecNo) then
begin
DBGrid1.Canvas.Font.Color:= clBlack;
DBGrid1.Canvas.Brush.Color:= $00F8E2D6;
end
else
begin
DBGrid1.Canvas.Font.Color:= clBlack;
DBGrid1.Canvas.Brush.Color:= clWhite;
end;
if gdSelected in State then
begin
DBGrid1.Canvas.Font.Color:= clWhite;
DBGrid1.Canvas.Font.Style:=[fsBold];
DBGrid1.Canvas.Brush.Color:= $00DF5400;
end;
DBGrid1.Canvas.FillRect(Rect);
DBGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top,Column.Field.AsString);
Valeu a força!!!
Eu postei uma mensagem sobre Ficha de chamada em QuickReport. Se puder ajudar agradeço, estou penando para fazer...
JR.
GOSTEI 0
Uildenei
25/09/2004
bom, pessoal!
eu fiz uma modificação em um dbgrid de acordo com o que eu precisava entao fiz rotinas como: ordenação, mudanca de cores de coluna de acordo com a ordem, zebra, configuração de colunas através de dicionario de dados, etc ...
por isso o HighLightCell nao aparece na aplicação normal pq ele eh um metodo protegido da classe.
Uildenei.
eu fiz uma modificação em um dbgrid de acordo com o que eu precisava entao fiz rotinas como: ordenação, mudanca de cores de coluna de acordo com a ordem, zebra, configuração de colunas através de dicionario de dados, etc ...
por isso o HighLightCell nao aparece na aplicação normal pq ele eh um metodo protegido da classe.
Uildenei.
GOSTEI 0