void __fastcall TForm1::Button1Click(TObject *Sender) { TPopupMenu *pmenu = new TPopupMenu(this); Button1->PopupMenu = pmenu;
TMenuItem *item = new TMenuItem(this); item->Caption="aaa"; item->OnClick= ... pmenu->Items->Add(item); ... }
TPopupMenu * pop = new TPopupMenu(this); this->PopupMenu = pop; //将菜单付给窗体 for(int i=0;i<10;i++){ //动态添加子菜单 TMenuItem * item = new TMenuItem(this); item->Caption = i; item->Tag = i; item->OnClick = MyClick; //给其Click事件赋值 pop->Items->Add(item); }
void __fastcall TForm1::MyClick(TObject *Sender) { TMenuItem * item = dynamic_cast<TMenuItem*>(Sender); if(item==NULL) return; ShowMessage(item->Tag); }
void __fastcall TForm1::Button1Click(TObject *Sender) { TPopupMenu *pmenu = new TPopupMenu(this);
TMenuItem *MenuItem = new TMenuItem(this); MenuItem->Caption = "Open(&O)..."; MenuItem->OnClick = Button2Click; pmenu->Items->Add(MenuItem); Form1->PopupMenu = pmenu; } //---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender) { ShowMessage("hello"); }
|