GARANTIR DESCONTO

Fórum Mudar cor de qrlabel somente de uma banda #206327

14/01/2004

0

Oi pessoal, alguem sabe como posso fazer um looping
pra mudar a cor dos qrlabels somente de uma banda.
Eu preciso disso porque quando o acontece uma determinada situação
eu quero que a banda toda fique com uma determinada cor, atualmente
eu mudo um por um. Se alguem puder ajudar desde já agradeço.


Osvaldo

Osvaldo

Responder

Posts

14/01/2004

Fabio.hc

Tente assim:

Coloque os qrlabels da banda com a propriedade parentfont:=true e trocar a propiedade font.color da banda;


Responder

Gostei + 0

14/01/2004

Nigro

if component is tLabel then color := clRed


Responder

Gostei + 0

14/01/2004

Osvaldo

Obrigado pela atenção Fabio, mas assim não dá certo, eu já tentei, eu preciso que quando eu ponho a cor cinza na banda por exemplo, os qrlabels não fiquem com o fundo branco e sim com o fundo cinza também.
E isso eu só consigo mudando a propriedade color do qrlabel e não da fonte. Como eu disse estou fazendo um a um. Ex. DetailBand1.color:=clGray, qrLabel1.color:=clGray, e assim por diante.

Tente assim: Coloque os qrlabels da banda com a propriedade parentfont:=true e trocar a propiedade font.color da banda;



Responder

Gostei + 0

14/01/2004

Osvaldo

Obrigado pela atenção Nigro, mas como eu faço pra pegar somente os qrLabels que pertencem a uma determinada banda, não quero alterar os outros QrLabels.

if component is tLabel then color := clRed



Responder

Gostei + 0

14/01/2004

Nigro

mude as tags


Responder

Gostei + 0

14/01/2004

Osvaldo

Obrigado mais uma vez Nigro e desculpe a minha ignorancia, mas eu não entendí, como assim mudar as tags?


mude as tags



Responder

Gostei + 0

15/01/2004

Nigro

Sem problemas... estamos todos aqui para aprender...

for i := 0 to ComponentCount -1 do
if Components[i].Tag = ´0´ is TLabel then
Components[i].Color := clRed
Acho que dá certo, se não der me avise.


Responder

Gostei + 0

15/01/2004

Osvaldo

Obrigado pela ajuda Nigro realmente resolveu o meu problema,
abaixo segue a rotina que precisei fazer para que meu relatório saisse zebrado, para quem precisar.



procedure TfrmRelContas.DetailBand1BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
var
i:integer;
begin

if not odd(dmSql.Query1.RecNo) then // se for impar imprime a linha toda cinza.
begin
detailBand1.Color:=clSilver;
for i := 0 to ComponentCount -1 do
begin
if TQRLabel(Components[i]).Tag = 1 then
TQRLabel(Components[i]).Color := clSilver;
end;
end
else
begin
detailBand1.Color:=clWhite;
for i := 0 to ComponentCount -1 do
begin
if TQRLabel(Components[i]).Tag = 1 then
TQRLabel(Components[i]).Color := clWhite;
end;
end;

end;


Sem problemas... estamos todos aqui para aprender... for i := 0 to ComponentCount -1 do if Components[i].Tag = ´0´ is TLabel then Components[i].Color := clRed Acho que dá certo, se não der me avise.



Responder

Gostei + 0

15/01/2004

Fabio.hc

Para imprimir zebrado eu tenho esta rotina:

- Colocar todos os objetos da banda com a propriedade transparent=true e no BeforePrint da banda o codigo abaixo:

procedure TForm1.DetailBand1BeforePrint(Sender: TQRCustomBand;
  var PrintBand: Boolean);
begin
   if odd(IBQuery1.RecNo) then
      DetailBand1.Color:=clSilver
   else
      DetailBand1.Color:=clWhite;
end;



Responder

Gostei + 0

15/01/2004

Osvaldo

Obrigado Fabio. Ja testei e funcionou.
E obrigado a todos pela colaboração, com isso aprendemos um pouco mais com a experiencia de todos.



Para imprimir zebrado eu tenho esta rotina: - Colocar todos os objetos da banda com a propriedade transparent=true e no BeforePrint da banda o codigo abaixo:
procedure TForm1.DetailBand1BeforePrint(Sender: TQRCustomBand;
  var PrintBand: Boolean);
begin
   if odd(IBQuery1.RecNo) then
      DetailBand1.Color:=clSilver
   else
      DetailBand1.Color:=clWhite;
end;



Responder

Gostei + 0

15/01/2004

Imoreira

Não é mais fácil setar a propriedade [color=red:cf59e6afd4][b:cf59e6afd4]transparent[/b:cf59e6afd4][/color:cf59e6afd4] do qrlabel
para [b:cf59e6afd4][color=red:cf59e6afd4]true[/color:cf59e6afd4][/b:cf59e6afd4]?


Responder

Gostei + 0

15/01/2004

Osvaldo

Obrigado pela atenção, realmente é mais fácil mesmo, foi exatamente o exemplo acima que o Fábio enviou.


Não é mais fácil setar a propriedade [color=red:0ed4c8191d][b:0ed4c8191d]transparent[/b:0ed4c8191d][/color:0ed4c8191d] do qrlabel para [b:0ed4c8191d][color=red:0ed4c8191d]true[/color:0ed4c8191d][/b:0ed4c8191d]?



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar