Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.08;
Скачать: CL | DM;

Вниз

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

 
Gennadiy ©   (2004-07-26 13:16) [0]

Уважаемые мастера!!!
Как можно напрямую обратиться к TMenuItems чтобы создать в нем подменю, мне нужен что то вроде поиска Itemsа по имени, чтобы не использовать такую конструкцию MainMenu1.Items[0].Items[0].Add(), так как мне неизвестна глубина Итемсов???


 
Ega23 ©   (2004-07-26 13:18) [1]

MainMenu1.Items.Count
MainMenu1.Items[i].Name

В чём проблема-то?


 
Palladin ©   (2004-07-26 13:33) [2]

парень просто не знает понятие рекурсии, то бишь теоретически не подготовлен, к подобным задачам, хотя берется их решать...



Function FindMenuItem(Const p_strName:String; p_oMenu:TMenu):TMenuItem;
Var
I:integer;

Function FindInSubMenus(p_oMenuItem:TMenuItem):TMenuItem;
Var
 I:Integer;
Begin
 Result:=Nil;
 For I:=0 to p_oMenuItem.Count-1 Do
  If p_oMenuItem.Items[I].Name=p_strName Then
   Begin
    Result:=p_oMenuItem.Items[I];
    Exit;
   End;
 For I:=0 to p_oMenuItem.Count-1 Do
  Begin
   Result:=FindInSubMenus(p_oMenuItem.Items[I]);
   If Result<>Nil Then Exit;
  End;
End;

Begin
Result:=Nil;
For i:=0 to p_oMenu.Items.Count-1 Do
 If p_oMenu.Items[i].Name=p_strName Then
  Begin
   Result:=p_oMenu.Items[i];
   Exit;
  End;
For i:=0 to p_oMenu.Items.Count-1 Do
 Begin
  Result:=FindInSubMenus(p_oMenu.Items[i]);
  If Result<>Nil Then Exit;
 End;
End;




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

Текущий архив: 2004.08.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
14-1090438685
k@rt
2004-07-21 23:38
2004.08.08
Winamp + 5 колонок


3-1089968904
VadimKV
2004-07-16 13:08
2004.08.08
Как получить Код (скрипт) всей БД в FB1.5???


6-1086713111
Dubensky
2004-06-08 20:45
2004.08.08
Привет всем. Подскажите как по сети динуть файл, если нету шар?


6-1086586737
vovan
2004-06-07 09:38
2004.08.08
баг с расшариванием ресурса


6-1086697837
Григорьев Антон
2004-06-08 16:30
2004.08.08
Вопрос по версиям WinSock