查看源代码 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。
默认构造函数。
调用此函数将数据对象设置到剪贴板。
在支持它的平台上(所有基于 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。
-spec isSupported(This, Format) -> boolean() when This :: wxClipboard(), Format :: wx:wx_enum().
如果剪贴板上当前 可用
的数据与给定数据对象的数据格式匹配,则返回 true。
-spec new() -> wxClipboard().
默认构造函数。
-spec open(This) -> boolean() when This :: wxClipboard().
在调用 setData/2
和 getData/2
之前,调用此函数以打开剪贴板。
在您完成剪贴板操作后,调用 close/1
。您应该只在很短的时间内保持剪贴板打开。
返回:成功时返回 true。应该对此进行测试(如上面示例所示)。
-spec setData(This, Data) -> boolean() when This :: wxClipboard(), Data :: wxDataObject:wxDataObject().
调用此函数将数据对象设置到剪贴板。
新的数据对象将替换任何先前设置的对象,因此,如果应用程序想要以几种不同的格式提供剪贴板数据,则必须使用支持所有格式的复合数据对象,而不是多次使用不同的数据对象调用此函数,因为这只会将最后一个数据对象中的数据保留在剪贴板中。
调用此函数后,剪贴板将拥有数据的所有权,因此请不要显式删除数据。
-spec usePrimarySelection(This) -> ok when This :: wxClipboard().
-spec usePrimarySelection(This, [Option]) -> ok when This :: wxClipboard(), Option :: {primary, boolean()}.
在支持它的平台上(所有基于 X11 的端口), wxClipboard
默认使用 CLIPBOARD X11 选择。
当使用 true 调用此函数时,所有后续剪贴板操作都将使用 PRIMARY 选择,直到再次使用 false 调用此函数。
在其他平台上,没有 PRIMARY 选择,因此所有剪贴板操作都将失败。这允许实现标准的 X11 剪贴板处理,即仅当用户显式请求时(例如,通过选择“复制”菜单命令)才将数据复制到 CLIPBOARD 选择,但自动将当前选定的文本放入 PRIMARY 选择中,而不会在其他平台上用当前选定的文本覆盖普通剪贴板的内容。