Главная страница
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.044 c
14-1090307859
Undert
2004-07-20 11:17
2004.08.08
Правила пользования (компьютерной) техникой


1-1090649821
Fagot
2004-07-24 10:17
2004.08.08
SAM


6-1086558721
Prankster.
2004-06-07 01:52
2004.08.08
Как получить доменное имя по IP


14-1090412511
t100
2004-07-21 16:21
2004.08.08
Ошибка панели управления.


3-1089804219
Shama_n
2004-07-14 15:23
2004.08.08
Как на SQL записать код символа вместо его явного указания?