通过菜单实现剪贴板操作

时间:2017-03-28 18:42:55

标签: delphi firemonkey firemonkey-fm3 firemonkey-fm2

我正在开发我的第一个商业Firemonkey应用程序(也是我的第一个任何语言的商业应用程序)。我使用了原生FMX控件和TMSSoftware(TTMSFMXGrid)中的一个控件。键盘剪贴板操作 - Ctrl + X,Ctrl + C,Ctrl + V - 工作"开箱即用"。但我希望我的应用程序能够提供与键盘快捷键功能相同的菜单项。

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

可以轻松编写TMenuBar的TMenuItems来执行剪切,复制和粘贴操作。这不是问题。当没有选择任何(或没有任何相关的)时,我一直无法弄清楚如何禁用剪切和复制菜单项,以及如何在剪贴板上没有任何内容(或任何相关内容)时禁用粘贴。

我该怎么做?

(我正在使用柏林10.1 Update 2。)

1 个答案:

答案 0 :(得分:0)

您可以在此处阅读有关Embarcadero的FMX复制/剪切/粘贴的信息:
Multi-Device Apps and Clipboard Support

因为你的问题是关于Windows现在你应该了解Windows剪贴板的内部。 Zarko Gajic撰写的文章是一个好的开始:
Basic Clipboard Operations (Cut/Copy/Paste)

还有关于剪贴板重新发送有关剪贴板内容更改的通知的信息:
Listening to the Clipboard: Clipboard Delphi Spy with Custom Clipboard Formats

另一篇关于OS X和带FMX的Windows剪贴板的好文章:
Copying and pasting the contents of a FireMonkey TBitmap