在你的跨平台应用中使用剪贴板进行复制粘贴

Posted 我的学习笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在你的跨平台应用中使用剪贴板进行复制粘贴相关的知识,希望对你有一定的参考价值。

[FMX]在你的跨平台应用中使用剪贴板进行复制粘贴

VCL 中如何使用剪贴板咱就不说了,FMX 做为一个新的框架,提供了跨平台的剪贴板支持。FMX 对剪贴板的支持来自两个接口:

  • IFMXClipboardService:位于 FMX.Platform.pas 中
  • IFMXExtendedClipboardService:位于 FMX.Clipboard.pas 中

很明显,第二种更符合VCL中TClipboard的使用习惯。而且如果要使用自定义格式的内容,则必需使用第二种格式,第一种格式的支持情况如下(以10.2 为准,未来版本请自行查看):

  1. Windows 平台(FMX.Clipboard.Win.pas):文本、位图
  2. android 平台(FMX.Clipboard.Android.pas):文本
  3. ios 平台(FMX.Clipboard.iOS.pas):文本、位图
  4. OSX 平台(FMX.Clipboard.Mac.pas):文本、位图

注意一下,支持位图的平台,实际上 TValue 支持的是 TBitmapSurface,当然设置值时也支持 TBitmap ,但 GetClipboard 返回的就只是 TBitmapSurface 类型的对象了。

好了,回归正转,说一下基本的使用步骤:

  1. 引用 fmx.platform 单元,如果使用第二个接口,同时使用 fmx.clipboard 单元。
  2. 用  TPlatformServices.Current.SupportsPlatformService 函数来获取剪贴板服务接口实例。
  3. 调用获取的接口实例的相关函数来执行相关的功能。

一个简单的示例:

至于其它的几个接口,大家看相关接口的帮助就可以了。

以上是关于在你的跨平台应用中使用剪贴板进行复制粘贴的主要内容,如果未能解决你的问题,请参考以下文章

为啥微信公众平台编辑图文消息时正文不能直接复制粘贴

IOS剪贴板(复制粘贴)不能跨应用程序

在 Excel(VSTO 代码)中使用剪贴板复制粘贴会冻结其他 Microsoft Office 应用程序

从不同的应用程序复制和粘贴剪贴板

怎么方便地不通过鼠标在应用之间复制/粘贴文本

从自定义键盘复制/粘贴剪贴板