ActionList

Delphi

01/03/2004

Caros amigos,
Estou usando o código abaixo para desabilitar os meus itens de menu:

For i := 0 to ComponentCount-1 do
if (Application.MainForm.Components[i].ClassType = MenuItem) and (TMenuItem(Application.MainForm.Components [i]).GetParentMenu.ClassType <> TPopupMenu) then
begin
S := Dataset.Locate(´COLUNA´, Application.MainForm.Components[i].Name,[]);
TMenuItem(Application.MainForm.Components[i]).Enabled := S;
TMenuItem(Application.MainForm.Components[i]).Visible := True;
end;

Após desabilitar o item de menu, se ele estiver ligado a uma ação de um ActionList eu queria saber como fazer para me referir a esta ação para chegar a sua propriedade de abilitação para deixa-la como False.


Alex Maia

Alex Maia

Curtidas 0

Respostas

Motta

Motta

01/03/2004

acho que assim funciona, o melhor seria desabilitar a Action pois ela desabilita os comp´s ligados a ela



For i := 0 to ComponentCount-1 do
if (Application.MainForm.Components[i].ClassType = MenuItem) and (TMenuItem(Application.MainForm.Components [i]).GetParentMenu.ClassType <> TPopupMenu) then
begin
S := Dataset.Locate(´COLUNA´, Application.MainForm.Components[i].Name,[]);
TMenuItem(Application.MainForm.Components[i]).Enabled := S;
TMenuItem(Application.MainForm.Components[i]).Visible := True;
if Assigned(TMenuItem(Application.MainForm.Components[i]).Action) then
TAction(TMenuItem(Application.MainForm.Components[i]).Action).Enabled := False;

end;


GOSTEI 0
Alex Maia

Alex Maia

01/03/2004

Valeu amigo! Funciomou mesmo.
Falow!


GOSTEI 0
POSTAR