檢視原始碼 wxTextDataObject (wx v2.4.3)

wxTextDataObjectwxDataObjectSimple 的一個特例 (在 wx 中未實作),用於處理文字資料。

它可以直接使用,無需修改,即可將資料貼到 wxClipboardwxDropSource (在 wx 中未實作)。使用者可能希望從此類別衍生出一個新的類別,以便在需要時提供文字,從而盡量減少在提供多種格式(例如純文字和 RTF)的資料時的記憶體消耗,因為預設情況下,文字會以字串形式儲存在此類別中,但它也可以在被請求時生成。為此,必須覆寫 getTextLength/1getText/1

請注意,如果您已經將文字儲存在字串中,則覆寫這些函式不會獲得任何效率提升,因為複製 wxStrings 已經是非常有效率的操作(資料實際上不會被複製,因為 wxStrings 是引用計數的)。

請參閱

此類別繼承自,並且可以使用來自以下位置的函式:

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().

設定與資料物件相關聯的文字。

當資料物件接收到資料時會呼叫此方法,並且預設情況下會將文字複製到成員變數中。如果您想要即時處理文字,您可能希望覆寫此函式。