No właśnie, czy jest możliwość szybkiego deaktywowania wszystkich elementów MainMenu?
Chodzi mi o coś w stylu:
with MainMenu do
...
No właśnie, czy jest możliwość szybkiego deaktywowania wszystkich elementów MainMenu?
Chodzi mi o coś w stylu:
with MainMenu do
...
może być coś takiego ?
for i:=0 to ComponentCount-1 do
if (components[i] is TMenuItem) then (components[i] as TMenuItem).Enabled:=false;
Ewentualnie coś tekiego :
for i:=0 to ComponentCount-1 do
if (components[i] is TMenuItem) then
begin
if not ((components[i] as TMenuItem).GetParentComponent=mainmenu1) then
(components[i] as TMenuItem).Enabled:=false;
end;
A jeśli zdarzenie znajduje się na innej formatce niż MainMenu?
zmieniasz na odpowiednie np. mainmenu321 zamiast mainmenu1 i hulo
e:
no to dorzuć kilka ifów żeby obsłużyć tylko to co cię interesuje i git ?
raczej na form1.mainmenu1 ale wtedy podkreśla mi wszystkie TMenu
e:
Chyba brakuje mi doświadczenia kolego. Byłbyś tak dobry i zmodyfikował procedurę tak by obsługiwała komponent o nazwie MainMenu znajdujący się na formatce f_main ?
(tak jak pisałem, zdarzenie znajdować się będzie na innej formatce)
no to tak to ma wyglądać ?
for i:=0 to f_main.ComponentCount-1 do
if (f_main.components[i] is TMenuItem) then
begin
if not ((f_main.components[i] as TMenuItem).GetParentComponent=f_main.MainMenu) then
(f_main.Components[i] as TMenuItem).Enabled:=false;
end;
i chyba nie musze ci mówić że trzeba dodać do uses unit powiązany z f_main?
I jeszcze jest kwestia taka że ten kod blokuje tylko poditemy, czyli te główne działają. Jeśli chcesz jeszcze blokować tamte to musisz pokombinować, lub zastosować kod z 2 postu.
for i:=0 to Form1.ComponentCount-1 do...
Jesli chodzi o Form1.
itd.
dziękuję koledzy