查看源代码 wxClipboard (wx v2.4.3)

一个用于操作剪贴板的类。

要使用剪贴板,您需要调用全局 ?wxTheClipboard 对象的成员函数。

有关更多信息,请参阅 overview_dataobject。

调用 open/1 以获取剪贴板的所有权。如果此操作返回 true,则您现在拥有剪贴板。调用 setData/2 将数据放入剪贴板,或调用 getData/2 从剪贴板检索数据。调用 close/1 关闭剪贴板并放弃所有权。您应该只暂时保持剪贴板打开。

例如

注意:在 GTK 上,剪贴板的行为可能因最终用户机器的配置而异。为了使剪贴板数据在窗口关闭后仍然存在,必须安装剪贴板管理器。一些剪贴板管理器会在每次添加新数据后自动刷新剪贴板,而另一些则不会。@Flush() 函数将强制剪贴板管理器刷新数据。

请参阅

wxWidgets 文档: wxClipboard

摘要

函数

调用此函数将数据对象添加到剪贴板。

清除全局剪贴板对象和系统的剪贴板(如果可能)。

调用此函数关闭剪贴板,此前使用 open/1 打开它。

销毁对象

刷新剪贴板:这意味着当前在剪贴板上的数据即使在应用程序退出后仍然可用(可能会占用内存),否则剪贴板将在退出时被清空。

返回剪贴板对象的全局实例 (wxTheClipboard)。

调用此函数以使用剪贴板上的数据填充 data(如果可用所需格式)。

如果剪贴板已打开,则返回 true。

如果剪贴板上当前 可用 的数据与给定数据对象的数据格式匹配,则返回 true。

默认构造函数。

在调用 setData/2getData/2 之前,调用此函数以打开剪贴板。

调用此函数将数据对象设置到剪贴板。

在支持它的平台上(所有基于 X11 的端口), wxClipboard 默认使用 CLIPBOARD X11 选择。

类型

-type wxClipboard() :: wx:wx_object().

函数

-spec addData(This, Data) -> boolean() when This :: wxClipboard(), Data :: wxDataObject:wxDataObject().

调用此函数将数据对象添加到剪贴板。

这是 setData/2 的过时同义词。

-spec clear(This) -> ok when This :: wxClipboard().

清除全局剪贴板对象和系统的剪贴板(如果可能)。

-spec close(This) -> ok when This :: wxClipboard().

调用此函数关闭剪贴板,此前使用 open/1 打开它。

-spec destroy(This :: wxClipboard()) -> ok.

销毁对象

-spec flush(This) -> boolean() when This :: wxClipboard().

刷新剪贴板:这意味着当前在剪贴板上的数据即使在应用程序退出后仍然可用(可能会占用内存),否则剪贴板将在退出时被清空。

当前,此方法在 MSW 和 GTK 中实现,否则始终返回 false。

注意:在 GTK 上,只能刷新非主要选择。当剪贴板使用主要选择时调用此函数将返回 false,并且不会在程序退出后使任何数据可用。

返回:如果由于任何原因操作失败,则返回 false。

-spec get() -> wxClipboard().

返回剪贴板对象的全局实例 (wxTheClipboard)。

-spec getData(This, Data) -> boolean() when This :: wxClipboard(), Data :: wxDataObject:wxDataObject().

调用此函数以使用剪贴板上的数据填充 data(如果可用所需格式)。

成功时返回 true。

-spec isOpened(This) -> boolean() when This :: wxClipboard().

如果剪贴板已打开,则返回 true。

此函数的链接

isSupported(This, Format)

查看源代码
-spec isSupported(This, Format) -> boolean() when This :: wxClipboard(), Format :: wx:wx_enum().

如果剪贴板上当前 可用 的数据与给定数据对象的数据格式匹配,则返回 true。

-spec new() -> wxClipboard().

默认构造函数。

-spec open(This) -> boolean() when This :: wxClipboard().

在调用 setData/2getData/2 之前,调用此函数以打开剪贴板。

在您完成剪贴板操作后,调用 close/1。您应该只在很短的时间内保持剪贴板打开。

返回:成功时返回 true。应该对此进行测试(如上面示例所示)。

-spec setData(This, Data) -> boolean() when This :: wxClipboard(), Data :: wxDataObject:wxDataObject().

调用此函数将数据对象设置到剪贴板。

新的数据对象将替换任何先前设置的对象,因此,如果应用程序想要以几种不同的格式提供剪贴板数据,则必须使用支持所有格式的复合数据对象,而不是多次使用不同的数据对象调用此函数,因为这只会将最后一个数据对象中的数据保留在剪贴板中。

调用此函数后,剪贴板将拥有数据的所有权,因此请不要显式删除数据。

此函数的链接

usePrimarySelection(This)

查看源代码
-spec usePrimarySelection(This) -> ok when This :: wxClipboard().

等效于 usePrimarySelection(This, [])

-spec usePrimarySelection(This, [Option]) -> ok
                             when This :: wxClipboard(), Option :: {primary, boolean()}.

在支持它的平台上(所有基于 X11 的端口), wxClipboard 默认使用 CLIPBOARD X11 选择。

当使用 true 调用此函数时,所有后续剪贴板操作都将使用 PRIMARY 选择,直到再次使用 false 调用此函数。

在其他平台上,没有 PRIMARY 选择,因此所有剪贴板操作都将失败。这允许实现标准的 X11 剪贴板处理,即仅当用户显式请求时(例如,通过选择“复制”菜单命令)才将数据复制到 CLIPBOARD 选择,但自动将当前选定的文本放入 PRIMARY 选择中,而不会在其他平台上用当前选定的文本覆盖普通剪贴板的内容。