Fórum Trocar propriedade color de todas as edit's da tela em tempo de execução. #379455
13/06/2010
0
Trabalho com Delphi7 e Herança de tela, a duvida é:
Tudo que mudo na tela de herança muda nas filhas dela, seguinte este principio, seria possivel colocar um codigo na tela de herança determinando que todas as edit's que existirem na tela troquem sua propriedade color.?Lembrando que como uso herança não sei quantas edit's terei na tela nem qual a propriedade name, então suponho que devo alterar a propriedade da classe TEdit ou algo parecido sei la...
Desde já agradeço a colaboração de todos.
Km Sistemas
Curtir tópico
+ 0Posts
13/06/2010
Marco Salles
Trabalho com Delphi7 e Herança de tela, a duvida é:
Tudo que mudo na tela de herança muda nas filhas dela, seguinte este principio, seria possivel colocar um codigo na tela de herança determinando que todas as edit's que existirem na tela troquem sua propriedade color.? Lembrando que como uso herança não sei quantas edit's terei na tela nem qual a propriedade name, então suponho que devo alterar a propriedade da classe TEdit ou algo parecido sei la...
Desde já agradeço a colaboração de todos.
Gostei + 0
13/06/2010
Francisco Sena
if (Components[i] is TDBEdit) then
begin
TDBEdit(Components[i]).OnEnter := AplicaCor;
TDBEdit(Components[i]).OnExit := RetiraCor;
end; As procedures AplicaCor e RetiraCor: procedure TfrmBase.AplicaCor(Sender: TObject);
begin
TDBEdit(Sender).Color := clInfoBk;
end; procedure TfrmBase.RetiraCor(Sender: TObject);
begin
TDBEdit(Sender).Color := clWindow;
end; Você pode substiuir por outros componentes... Não sei se é o correto.. mais espero que tenha ajudado um pouco. Valeu!
Gostei + 0
13/06/2010
Marco Salles
if (Components[i] is TDBEdit) then
begin
TDBEdit(Components[i]).OnEnter := AplicaCor;
TDBEdit(Components[i]).OnExit := RetiraCor;
end; As procedures AplicaCor e RetiraCor: procedure TfrmBase.AplicaCor(Sender: TObject);
begin
TDBEdit(Sender).Color := clInfoBk;
end; procedure TfrmBase.RetiraCor(Sender: TObject);
begin
TDBEdit(Sender).Color := clWindow;
end; Você pode substiuir por outros componentes... Não sei se é o correto.. mais espero que tenha ajudado um pouco. Valeu!
Gostei + 0
15/06/2010
Km Sistemas
Eu ainda não sou muito bom no Delphi, estou aprendendo faz pouco tempo, mas, eu já desenrolei, através de umas aulas que li, sobre como "pintar" alguns componentes em tempo de execução, mesmo ele sendo herdado e talz.
O código é o seguinte:
Dentro do evento FormShow
for i := 0 to ComponentCount - 1 do
if (Components[i] is TDBEdit) then
begin
TDBEdit(Components[i]).OnEnter := AplicaCor;
TDBEdit(Components[i]).OnExit := RetiraCor;
end;
As procedures AplicaCor e RetiraCor:
procedure TfrmBase.AplicaCor(Sender: TObject);
begin
TDBEdit(Sender).Color := clInfoBk;
end;
procedure TfrmBase.RetiraCor(Sender: TObject);
begin
TDBEdit(Sender).Color := clWindow;
end;
Você pode substiuir por outros componentes...
Não sei se é o correto.. mais espero que tenha ajudado um pouco.
Valeu!
Deu Certinho!!! Obrigado...
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)