ykk |
Отправлено: 18.04.2005, 22:51 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 17
|
Подскажите пожалуйста как в PopUp меню динамически добавлять итемсы??
Заранее большое спасибо!! |
|
Rius |
Отправлено: 19.04.2005, 05:07 |
|
Мастер участка
Группа: Участник
Сообщений: 321
|
В хэлпе все есть:
QUOTE | This example demonstrates how to add and delete menu items to a popup menu at runtime and assign an event handler to the OnClick event.
void __fastcall TForm1::AddButtonClick(TObject *Sender)
{
const int num_items = 4;
for (int index = 0; index < num_items; ++index)
{
TMenuItem *NewItem = new TMenuItem(PopupMenu1); // create the new item
PopupMenu1->Items->Add(NewItem);// add it to the Popupmenu
NewItem->Caption = "Menu Item " + IntToStr(index);
NewItem->Tag = index;
NewItem->OnClick = PopupMenuItemsClick;// assign it an event handler
}
}
void __fastcall TForm1::PopupMenuItemsClick(TObject *Sender)
{
TMenuItem *ClickedItem = dynamic_cast(Sender);
if (ClickedItem)
{
switch (ClickedItem->Tag)
{
case 0:
{
ShowMessage("first item clicked");
break;
}
case 1:
{
ShowMessage("second item clicked");
break;
}
// etc...
}
}
}
To edit or destroy an item, grab its pointer via the TMenuItem::Items property.
void __fastcall TForm1::EditButtonClick(TObject *Sender)
{
const int index = 1;
TMenuItem *ItemToEdit = PopupMenu->Items->Items[index];
ItemToEdit->Caption = "Changed Caption";
}
void __fastcall TForm1::DestroyButtonClick(TObject *Sender)
{
const int index = 2;
TMenuItem *ItemToDelete = PopupMenu->Items->Items[index];
delete ItemToDelete;
} |
|
|