RAD Studio VCL Reference
|
Indicates the component that last displayed the popup menu in response to a right mouse click.
property PopupComponent: TComponent;
__property TComponent * PopupComponent;
Read PopupComponent to determine which control is currently using the popup menu. In applications where multiple controls share the same pop-up menu, use PopupComponent to determine which of them displayed the menu.
Set PopupComponent to associate a control with the menu before calling the Popup method programmatically to bring up the pop-up menu.
C++ Examples:
/* This example uses two edit boxes and one pop-up menu on a form. The pop-up menu contains Cut, Copy, and Paste commands. This code makes the pop-up menu available to both edit boxes: */ void __fastcall TForm1::FormCreate(TObject *Sender) { PopupMenu1->AutoPopup = true; Edit1->PopupMenu = PopupMenu1; Edit2->PopupMenu = PopupMenu1; } /* These are the cut, copy, and paste OnClick events for the commands on the pop-up menu. Double click on the pop-up menu and add three TMenuItems. Then set the captions to "Cut", "Copy" and "Paste". The names will be automatically set to "Cut1", "Copy1", and "Paste1". Then double click on the OnClick events and they will be named "Cut1Click", "Copy1Click" and "Paste1Click" respectively. Note: only the selected portion of the string in the edit box will be copied, cut or replaced. */ void __fastcall TForm1::Copy1Click(TObject *Sender) { TComponent *pComponent = PopupMenu1->PopupComponent; if (pComponent) { if (pComponent->ClassNameIs("TEdit")) (dynamic_cast<TEdit *>(pComponent))->CopyToClipboard(); else MessageBeep(0); } else MessageBeep(0); } void __fastcall TForm1::Cut1Click(TObject *Sender) { TComponent *pComponent = PopupMenu1->PopupComponent; if (pComponent) { if (pComponent->ClassNameIs("TEdit")) (dynamic_cast<TEdit *>(pComponent))->CutToClipboard(); else MessageBeep(0); } else MessageBeep(0); } void __fastcall TForm1::Paste1Click(TObject *Sender) { TComponent *pComponent = PopupMenu1->PopupComponent; if (pComponent) { if (pComponent->ClassNameIs("TEdit")) (dynamic_cast<TEdit *>(pComponent))->PasteFromClipboard(); else MessageBeep(0); } else MessageBeep(0); }
Delphi Examples:
{ This example uses two edit boxes and one pop-up menu on a form. The pop-up menu contains Cut, Copy, and Paste commands. This code makes the pop-up menu available to both edit boxes: } procedure TForm1.FormCreate(Sender: TObject); begin PopupMenu1.AutoPopup := True; Edit1.PopupMenu := PopupMenu1; Edit2.PopupMenu := PopupMenu1; end; { These are the cut, copy, and paste OnClick events for the commands on the pop-up menu. Double click on the pop-up menu and add three TMenuItems. Then set the captions to "Cut", "Copy" and "Paste". The names will be automatically set to "Cut1", "Copy1", and "Paste1". Then double click on the OnClick events and they will be named "Cut1Click", "Copy1Click" and "Paste1Click" respectively. Note: only the selected portion of the string in the edit box will be copied, cut or replaced. } procedure TForm1.Copy1Click(Sender: TObject); begin if PopupMenu1.PopupComponent = Edit1 then Edit1.CopyToClipboard else if PopupMenu1.PopupComponent = Edit2 then Edit2.CopyToClipboard else Beep; end; procedure TForm1.Cut1Click(Sender: TObject); begin if PopupMenu1.PopupComponent = Edit1 then Edit1.CutToClipboard else if PopupMenu1.PopupComponent = Edit2 then Edit2.CutToClipboard else Beep; end; procedure TForm1.Paste1Click(Sender: TObject); begin if PopupMenu1.PopupComponent = Edit1 then Edit1.PasteFromClipboard else if PopupMenu1.PopupComponent = Edit2 then Edit2.PasteFromClipboard else Beep; end;
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|