檢視原始碼 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 available
。
預設建構函式。
呼叫此函式以將資料物件設定到剪貼簿。
在支援它的平台(所有基於 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 available
。
-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 選擇,而不會覆寫一般剪貼簿內容和目前選取的文字。