Desabiltar menus e botoes do ToolBar

Delphi

07/05/2004

Caras, tenho um form MDI que possui um ToolBar e preciso desabiltar os botoes integrantes deste ToolBar. Usei o seguinte código:

For c := 0 To Self.ComponentCount - 1 Do
begin
If (Components[c].ClassName = ´TMenuItem´)Then
begin
If(Components[c].Tag = 1) Then
TMenuItem(Components[c]).Enabled := False;
end;

If(Components[c].Tag = 1)Then
TControl(Components[c]).Enabled := False;
End;

Isso serve para desabilitar menus (através da classe e verificando a propriedade Tag) e botoes do ToolBar (verificando a propriedade Tag).Dessa forma ocorre que ou executa o procedimento para desabilitar os menus ou os botões. Mas o que eu quero é desbilitar todos.
Como eu posso fazer isso?

Valeu!!!


Diorgenes175

Diorgenes175

Curtidas 0

Respostas

Edkardoso

Edkardoso

07/05/2004

Porque não desabilita simplesmente o componente, ao invés de desablitar botão por botão ?

ActionToolBar1.Enabled:=false

um abraço !


GOSTEI 0
Diorgenes175

Diorgenes175

07/05/2004

Por que eu não quero desabilitar todos os botoes deste componente. São desabilitados apenas dois botoes, pois isso serve para aplicar restrições ao tipo de usuario. Compreende?!

Pode me ajudar nessa... O que tá ocorrendo é algum conflito entre os objetos que eu nao consigo corrigir...

Valeu!!!

Diórgenes Tavares
Gravataí - RS


GOSTEI 0
Edkardoso

Edkardoso

07/05/2004

Sendo assim meu caro, acho que a rotina abaixo deve resolver seu problema. Ela vai desabilitar todos os botões que tiverem o valor de Tag iguais a 0. Por favor me responda se funcionou.

Procedure TfrmPrincipal.FormShow(Sender: TObject);
var i:integer;
begin
for i:=0 to (ActionToolBar1.ComponentCount -2) do
if ActionToolBar1.ActionControls[i].Tag =0 then
ActionToolBar1.ActionControls[i].Enabled:=false;

end;


Espero ter contribuído para o seu sucesso!

Um abraço,

Eduardo


GOSTEI 0
Diorgenes175

Diorgenes175

07/05/2004

Antes de vc enviar este código eu já tinha conseguido desbilitar botoes e menus...

Valeu...


GOSTEI 0
POSTAR