Текущий архив: 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.48 MB
Время: 0.039 c