问题描述
我有一个 TStringGrid,它连接了一个 TPopupMenu。 通过单击弹出菜单的一个事件,我想获取调用组件。这可能吗?
背景: 这是一个更大的项目,每个表单都有一个我可以继承的“BasicForm”。所以我想为包含复制、选择等内容的网格提供一个“默认弹出菜单”。在继承的形式中,我只将网格(如果存在)与该弹出窗口匹配,我就完成了。
解决方法
看来您正在寻找 TPopupMenu 的 PopupComponent 属性: Vcl.Menus.TPopupMenu.PopupComponent
表示最后显示弹出菜单响应的组件 鼠标右键单击。
读取 PopupComponent 以确定当前使用的是哪个控件 弹出菜单。在多个控件共享相同的应用程序中 弹出菜单,使用 PopupComponent 确定显示哪些 菜单。
在调用前设置 PopupComponent 将控件与菜单关联 Popup 方法以编程方式调出弹出菜单。