2

我正在开发我的第一个商业 Firemonkey 应用程序(也是我的第一个任何语言的商业应用程序)。我使用了本机 FMX 控件以及 TMSSoftware (TTMSFMXGrid) 中的一个控件。键盘剪贴板操作——Ctrl+X、Ctrl+C、Ctrl+V——“开箱即用”。但我希望我的应用程序提供与键盘快捷键功能相同的菜单项。

我已经设置了我的程序,以便在为 Windows 编译时可以看到一个 TMenuBar。为 OS X 编译时,TMenuBar 是不可见的,但会出现 TMainMenu。为简单起见,我们可以只讨论 TMenuBar 可见时为 Windows 编译的场景。

对 TMenuBar 的 TMenuItem 进行编程以执行剪切、复制和粘贴操作很容易。这不是问题。我一直无法弄清楚如何在未选择任何内容(或没有相关内容)时禁用剪切和复制菜单项,以及如何在剪贴板上没有任何内容(或没有相关内容)时禁用粘贴。

我怎样才能做到这一点?

(我使用的是柏林 10.1 更新 2。)

4

1 回答 1

0

您可以在此处阅读有关使用来自 Embarcadero 的 FMX 进行复制/剪切/粘贴的信息:
多设备应用程序和剪贴板支持

而且因为您现在的问题是关于 Windows 的,所以您应该了解 Windows 剪贴板的内部结构。好的开始是 Zarko Gajic 的文章:
基本剪贴板操作(剪切/复制/粘贴)

还有关于收听剪贴板以重新接收有关剪贴板内容更改
的通知:收听剪贴板:具有自定义剪贴板格式的剪贴板 Delphi Spy

另一篇关于使用 FMX 在 OS X 和 Windows 中的剪贴板的好文章:
复制和粘贴 FireMonkey TBitmap 的内容

于 2017-03-29T18:42:54.323 回答