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

wxTextDataObjectwxDataObjectSimple (在 wx 中未实现) 的一个专门化,用于文本数据。

它可以直接使用,无需修改,将数据粘贴到 wxClipboardwxDropSource (在 wx 中未实现)。用户可能希望从此类派生一个新类,以便按需提供文本,从而在提供多种格式的数据(例如纯文本和 RTF)时最大程度地减少内存消耗,因为默认情况下,文本存储在此类中的字符串中,但也可以在请求时生成。为此,必须重写 getTextLength/1getText/1

请注意,如果您已经将文本存储在字符串中,则重写这些函数不会获得任何效率提升,因为复制 wxString 已经是一个非常高效的操作(实际上不会复制数据,因为 wxString 是引用计数的)。

请参阅

此类派生自,并且可以使用来自

wxWidgets 文档: wxTextDataObject

摘要

函数

销毁对象

返回与数据对象关联的文本。

返回数据大小。

等效于 new([])

构造函数,可用于初始化文本(否则应稍后使用 setText/2)。

设置与数据对象关联的文本。

类型

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

函数

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

销毁对象

-spec getText(This) -> unicode:charlist() when This :: wxTextDataObject().

返回与数据对象关联的文本。

您可能希望在按需提供数据时重写此方法,但这不是 wxWidgets 内部的要求。使用此方法从 wxClipboard 中获取文本形式的数据。

-spec getTextLength(This) -> integer() when This :: wxTextDataObject().

返回数据大小。

默认情况下,返回在构造函数中或使用 setText/2 设置的文本数据的大小。可以重写此方法以按需提供文本大小数据。建议返回文本长度加 1 作为尾随零,但这并非严格要求。

-spec new() -> wxTextDataObject().

等效于 new([])

-spec new([Option]) -> wxTextDataObject() when Option :: {text, unicode:chardata()}.

构造函数,可用于初始化文本(否则应稍后使用 setText/2)。

链接到此函数

setText(This, StrText)

查看源代码
-spec setText(This, StrText) -> ok when This :: wxTextDataObject(), StrText :: unicode:chardata().

设置与数据对象关联的文本。

当数据对象接收到数据时调用此方法,默认情况下,将文本复制到成员变量中。如果您想动态处理文本,您可能希望重写此函数。