首页 > 解决方案 > 获取TPopupMenu的调用组件

问题描述

我有一个 TStringGrid,它连接了一个 TPopupMenu。通过单击弹出菜单的一个事件,我想获取调用组件。那可能吗?

背景:这是一个更大的项目,每个表单都有一个我可以继承的“BasicForm”。因此,我想为包含复制、选择等内容的网格提供一个“默认弹出菜单”。在继承的形式中,我只将网格(如果存在)与该弹出窗口匹配,我就完成了。

标签: delphigridfiremonkeyvclpopupmenu

解决方案


似乎您正在寻找 TPopupMenu 的PopupComponent属性: Vcl.Menus.TPopupMenu.PopupComponent

指示最后一次显示弹出菜单以响应鼠标右键单击的组件。

阅读 PopupComponent 以确定哪个控件当前正在使用弹出菜单。在多个控件共享同一个弹出菜单的应用程序中,使用 PopupComponent 来确定哪些控件显示了菜单。

在以编程方式调用 Popup 方法以调出弹出菜单之前,将 PopupComponent 设置为将控件与菜单关联。


推荐阅读