ActionList
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.
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
Curtidas 0
Respostas
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;
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
01/03/2004
Valeu amigo! Funciomou mesmo.
Falow!
Falow!
GOSTEI 0