delphi - 获取TPopupMenu的调用组件
问题描述
我有一个 TStringGrid,它连接了一个 TPopupMenu。通过单击弹出菜单的一个事件,我想获取调用组件。那可能吗?
背景:这是一个更大的项目,每个表单都有一个我可以继承的“BasicForm”。因此,我想为包含复制、选择等内容的网格提供一个“默认弹出菜单”。在继承的形式中,我只将网格(如果存在)与该弹出窗口匹配,我就完成了。
解决方案
似乎您正在寻找 TPopupMenu 的PopupComponent属性: Vcl.Menus.TPopupMenu.PopupComponent
指示最后一次显示弹出菜单以响应鼠标右键单击的组件。
阅读 PopupComponent 以确定哪个控件当前正在使用弹出菜单。在多个控件共享同一个弹出菜单的应用程序中,使用 PopupComponent 来确定哪些控件显示了菜单。
在以编程方式调用 Popup 方法以调出弹出菜单之前,将 PopupComponent 设置为将控件与菜单关联。
推荐阅读
- postgresql - 无法启用 pg_stat_statements 以启用 Heroku pg:outliers
- javascript - Nuxt.js - 全局导入自定义 NPM 包
- html - 在重用 html 组件时,是否可以将该组件的 css 和 bootstrap(cdns) 设置为该组件,并且不要让它干扰其他页面;
- python - 将 Python 代码块转换为一行
- generics - 如何在结构/特征、常规变量声明和函数中最好地实现泛型?
- linux-device-driver - Linux Driver 中 SPI Master 的原始访问,用于 SPI 设备访问
- c++ - 如何将犰狳添加到 Visual Studio 代码 2019?
- php - 如何在 PHP 中使用 JSON 编码的数组
- azure - 点对点客户端可以看到虚拟网络中的虚拟机,但不能访问点对点资源
- javascript - 将 NPM javascript 库添加到 Laravel 8