Главная страница
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.046 c
1-1090514193
saimon
2004-07-22 20:36
2004.08.08
TLabel вместо всплывающей подсказки (Hint)


9-1078931622
DenKop
2004-03-10 18:13
2004.08.08
Примитивы opengl


3-1089608096
DENpro
2004-07-12 08:54
2004.08.08
BackUp Interbase


1-1090733749
oleg_SYS
2004-07-25 09:35
2004.08.08
IHTMLDocument2


1-1090593728
fess
2004-07-23 18:42
2004.08.08
Приемы работы с Chart