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

Вниз

Можна ли добавлять динамически пункты меню в MainMenu?   Найти похожие ветки 

 
Ande   (2005-08-19 10:51) [0]

Можна ли добавлять динамически пункты меню в MainMenu?


 
Ega23 ©   (2005-08-19 11:05) [1]

Можно.


 
Ande   (2005-08-19 11:07) [2]

Как?


 
syte_ser78 ©   (2005-08-19 11:14) [3]

mainmenu1.Items.Add


 
Ega23 ©   (2005-08-19 11:27) [4]


With RQInfAdds do
 begin
  if IsEmpty then Exit;
  ilMenuImages.Clear;
  First;
  While not Eof do
   begin
    MenuItem:=TMenuItem.Create(DataMenu);
    MenuItem.Caption:=FieldByName("InfaddNam").AsString;
    MenuItem.ImageIndex:=LoadBitmap(RQInfAdds,"InfaddImg",ilMenuImages);
    MenuItem.Tag:=FieldByName("InfaddID").AsInteger;
    MenuItem.ShortCut:=TextToShortCut(FieldByName("InfaddKey").AsString);
    MenuItem.OnClick:=MenuItemClick;
    DataMenu.Items.Add(MenuItem);
    Next;
   end;
 end;


 
Ande   (2005-08-19 11:44) [5]


> mainmenu1.Items.Add


извиняюсь, но можна еще подробней. Например надо добавить пункт "New".


 
syte_ser78 ©   (2005-08-19 11:52) [6]

Ega23 вроде как ответил.
Меняеш
MenuItem.Caption:=FieldByName("InfaddNam").AsString;
на
MenuItem.Caption:="New";
будет то что хочеш.

var
  menuitem:tmenuitem;
begin
  MenuItem:=TMenuItem.Create(mainmenu1);
  menuitem.Caption:="new";
  mainmenu1.Items.Add(menuitem);
end;


 
Ande   (2005-08-19 12:06) [7]

спасибо
А с подменю можна так делать?


 
syte_ser78 ©   (2005-08-19 12:10) [8]

Ande   (19.08.05 12:06) [7]
mainmenu1.Items[i].Add(menuitem);


 
Ega23 ©   (2005-08-19 12:14) [9]

Блин, ну посмотри же Help наконец-то!


TMenuItem.Add

Adds one or more menu items to the end of the Items property array.

procedure Add(Item: TMenuItem); overload;
procedure Add(const AItems: array of TMenuItem); overload;

Description

Use Add to add new menu items to the dropdown menu for this menu item. If this menu item is the value of the Items property of a main menu or pop-up menu, Add adds the items to the end of the menu.

Specify a single new menu item to add as the value of the Item parameter, or an array of new menu items as the value of the AItems parameter.


 
Ande   (2005-08-19 12:14) [10]

что такое i?
syte_ser78, может у Вас есть описание какое-то по этому вопросу. Буду очень благодарен.


 
Ande   (2005-08-19 12:21) [11]


> Ega23 ©   (19.08.05 12:14) [9]
> Блин, ну посмотри же Help наконец-то!

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


 
syte_ser78 ©   (2005-08-19 12:22) [12]

Ande   (19.08.05 12:14) [10]
:))))

i - это переменная. Целое положительное число заданное вами явно либо перебираемое в цикле. Нумерация итемов начинается с нуля.
Если нужно добавить пунк подменю в первое меню пишеш
mainmenu.items[0].add...
первый пункт подменю первого меню
mainmenu.items[0].items[0].add...
и т.д.


 
Ega23 ©   (2005-08-19 12:25) [13]

i - это индекс того мамого родительского MenuItem

var
i, ParentItem:Integer;
MenuItem:TMenuItem;
begin
MenuItem:=TMenuItem.Create(PopupMenu1);
MenuItem.Caption:="Здесь есть подменю из пяти пунктов";
ParentItem:=PopupMenu1.Items.Add(MenuItem);

for 1:=1 to 5 do
 begin
  MenuItem:=TMenuItem.Create(PopupMenu1);  
  MenuItem.Caption:="Подменю №"+IntToStr(i);
  PopupMenu1.Items[ParentItem].Add(MenuItem);
 end;

end;



 
Ega23 ©   (2005-08-19 12:26) [14]

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

Что не мешает начинающим хотя бы иногда заглядывать в Help, не так ли?


 
Ande   (2005-08-19 12:33) [15]

не мешает, конечно. Но в хелпе используются понятия которые не понятны начинающему.
Спасибо за:

> syte_ser78 ©   (19.08.05 12:22) [12]

и

> Ega23 ©   (19.08.05 12:25) [13]

Теперь понятно. Просто я никогда не работал с MainMenu



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

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

Наверх




Память: 0.5 MB
Время: 0.046 c
2-1124381569
_zx
2005-08-18 20:12
2005.09.25
компонент Chart


2-1124177519
Саша У
2005-08-16 11:31
2005.09.25
Как переименовать много компонентов?


14-1125577447
Джо
2005-09-01 16:24
2005.09.25
Oberon System


1-1125639191
bon
2005-09-02 09:33
2005.09.25
Чертёж Autocad на форме


3-1123788901
Alexander Panov
2005-08-11 23:35
2005.09.25
СУБД для WEPApplication.