Вниз
Скачать: CL | DM;

Перебор пунктов меню   Найти похожие ветки 

← →
Tornado ©   (2005-01-28 08:54) [0]

Есть довольно большое меню, 15 элементов. При выборе элемента этот элемент должен стать неактивным, остальные - активные. Так для каждого элемента меню. Как осуществить? А то под каждым элементом писать

SubMenu1.Enabled := False;
SubMenu2.Enabled := True;
SubMenu3.Enabled := True;
...............
SubMenu15.Enabled := True;


как то криво


← →
Александр Иванов ©   (2005-01-28 09:07) [1]

1. Написать процедуру активирующую все пункты и дезактивировать Sender
2. Использовать AutoCheck


← →
Tornado ©   (2005-01-28 09:24) [2]

>> . Написать процедуру активирующую все пункты и дезактивировать Sender

можно чуть подробнее?


← →
Александр Иванов ©   (2005-01-28 09:39) [3]

А куда подробней?
procedure ActivateMenu(Root:TMenuItem);
 var i:integer;
 begin
   for i:=0 to Root.Count-1 do
     if Root.Items[i].Items.Count>0 then
       ActivateMenu(Root.Items)
     else
       Root.Items[i].Enabled:=True;
 end;
procedure TForm1.MenuItem1Click(Sender: TObject);
begin
 ActivateMenu(Form1.MainMenu1.Items);
 (Sender as TMenuItem).Enabled:=False;
end;


← →
Александр Иванов ©   (2005-01-28 09:41) [4]

Ошибся немного:

procedure ActivateMenu(Root:TMenuItem);
 var i:integer;
 begin
   for i:=0 to Root.Count-1 do
     if Root.Items[i].Count>0 then
       ActivateMenu(Root.Items[i])
     else
       Root[i].Enabled:=True;
 end;


← →
REA   (2005-01-28 09:56) [5]

3: Не делать меню из 15 пунктов - пользователю будет напряжно. Надо примерно 7-8. Хотя могут быть и исключения.

А так в принципе сделать Action.OnUpdate, запоминать активный, и TAction(Sender).Enabled := (Sender = LastSelectedAction)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.026 c
1-1107259732
Alex_1
2005-02-01 15:08
2005.02.13
кодировка в поле ввода Edit


14-1106672383
Бугага
2005-01-25 19:59
2005.02.13
Rover S2


1-1107091280
Baddelay
2005-01-30 16:21
2005.02.13
ListBox изменение выделенного итема


14-1106412939
thaddy
2005-01-22 19:55
2005.02.13
A bit off topic, but kol related!


1-1106899380
Mishenka
2005-01-28 11:03
2005.02.13
PopupMenu для заголовков столбцов в DbGridEh




   Наверх