Fórum desativar todos os componentes de um form #421189
07/08/2012
0
Estou fazendo assim atualmente
btnnovo.enabled:=false; btgravar.enabled:=false; btndeletar.enabled:=false; btcancelar.enabled:=false;
Até ai tudo bem, mas se forem 100 componentes no meu formulário, vai dar um trabalhão, alguém tem ideia de como melhorar isso ou só tem deste jeito mesmo?
Obrigada..
Carla Batista
Curtir tópico
+ 0Post mais votado
08/08/2012
o IsPublishedProp esta verificando se no componente tal existe a propriedade enabled IsPublishedProp(Components[i], Enabled)
e o SetVariantProp esta setando false na propriedade enabled no componente tal SetVariantProp(Components[i], Enabled, False);
Bruno Leandro
Gostei + 1
Mais Posts
08/08/2012
Bruno Leandro
for i := 0 to Screen.ActiveForm.ComponentCount-1 do
begin
if IsPublishedProp(Components[i], Enabled) then
SetVariantProp(Components[i], Enabled, False);
end;
Gostei + 0
08/08/2012
Carla Batista
Gostaria de entender pra poder adaptar :(..
Obrigada!
Gostei + 0
09/08/2012
Marco Salles
procedure Habilitar(inibir:boolean;_Parent:Twincontrol;_Tag:word=0);
var
I: Integer;
begin
for I := 0 to pred(_Parent.ControlCount) do
if _Parent.Controls[i].Tag =_Tag then //pre seleção
_Parent.Controls[i].Enabled:=inibir;
end;para chamar
desta forma vc seleciona os controles que irão sofrer a acão atraves de uma seleção , utilizando a propriedade
tag do mesmo .. No caso anterior somente componetes definidos com o valor do tag zero (Padrão) serão afetados
procedure TForm2.Button1Click(Sender: TObject); begin Habilitar(false,self,0); end;
de qualquer modo todos os caminhos vão a Roma
Gostei + 1
11/08/2012
Carla Batista
Obrigada mesmo..
Gostei + 0
11/08/2012
Carla Batista
Gostei do seu exemplo, como fazer a mesma coisa de várias formas, muito legal, vocês são feras!
Obrigada gente, agora meu projeto esta ficando muito bonito, dessa forma evita mts erros do usuário.
Até mais
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)