程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> TClipboard

TClipboard

編輯:關於C++

TClipboard封裝了Windows Clipboard。

類關系 TObject->TPersistent

WindowsClipboard包含對任何一個應用程序剪切、復制或粘貼的文本或圖形。TClipboard對象是WindowsClipboard的一個對象包。

不要通過調用構造來實例化單獨的TClipboard對象的全局實例。當允許應用程序共享TClipboard對象的一個單個實例時,使用該全局實例可以安全避免意外地刪除剪貼板。在調用Clipboard方法之前,應記住在uses語句中應包括Clipbrd

Clipboard的屬性提供了關於Clipboard被“注冊”格式的處理消息。Clipboard的方法可以進行以下操作:

根據適當的格式獲取的檢索數據。

處理引用計算、打開和關閉Clipboard。

為Clipboard中的對象管理和操縱格式。

屬性列表

AsText 表示Clipboard中的當前內容為一個字符串

FormatCount 用於指定在Formats數組屬性的格式數量

Formats 提供對Clipboard包含所有格式的變址訪問

方法列表

~TClipboard 釋放與TClipboard對象有關的內存

Assign 從Clipboard中檢索一對象或者向Clipboard中復制一對象

Clear 刪除Clipboard中的內容

Close 用於關閉Clipboard

GetAsHandle 用於從剪貼板返回指定格式的句柄數據

GetComponent 根據Owne和Parent參數值從Clipboard中粘貼一組件

GetTextBuf 從Clipboard中檢索文本並復制到一個緩沖區

HasFormat 表示 Clipboard對象是否包含一個特定格式

Open 打開Clipboard

SetAsHandle 按給定格式放置作為一個Windows句柄的數據

SetComponent 向Clipboard中復制一個組件

SetTextBuf 向Clipboard中寫入一個文本緩沖區

TClipboard 創建一個新的TClipboard對象

屬性

TClipboard::AsText

__property System::AnsiString AsText = {read=GetAsText,write=SetAsText};

表示Clipboard中的當前內容為一個字符串。

使用AsText屬性可以在Clipboard中放置文本和從Clipboard中檢索數據。AsText屬性復制Clipboard中的一個字符串。將一個字符串設定為AsText屬性的數值。

Clipboard必須包含一個字符串或者一個出現的異常。使用HasFormat方法,可以確定Clipboard中是否包含一個字符串。

TClipboard::FormatCount

__property int FormatCount = {read=GetFormatCount,nodefault};

用於指定在Formats數組屬性的格式數量。

使用FormatCount屬性可以查找Clipboard中不同格式類型的數量,格式類型用於對當前消息進行編碼。FormatCount屬性為只讀屬性。

使用HasFormat方法,可以查明Clipboard中的一個特定格式是否是可用的。

在已一個特定的格式向剪貼板中寫入消息之前,該格式必須已注冊。使用TPieture對象的RegisterClipboardFormat方法,可以注冊一個新格式。

TClipboard::Formats

__property Word Formats[int Index] = {read=GetFormats};

提供對Clipboard包含所有格式的娈址訪問。

使用Formats屬性可以確定用什麼格式對剪貼板中的當前消息進行編碼。根據每一個格式在數組中的位置,使用Infex參數,可以訪問每一個格式。當從剪貼板中讀取消息時,使用Formats屬性數組可以為可用多個方法進行編碼的消息選擇最佳的可能編碼方法。

通常,當一個應用程序對Clipboard進行復制或者剪切內容時,將按多種格式放置內容。

如果格式在Formats屬性數組中,則一個應用程序可以在Clipboard中放置一個特定格式的項目,並且可以按一個特定格式從 Clipboard中檢索項目。使用HasFirmat方法,可以查明Clipboard中的一個特定格式是否是可用的。

方法

TClipboard::~TClipboard

__fastcall virtual ~TClipboard(void);

釋放與TClipboard對象有關的內存。

~TClipboard 釋放與TClipboard對象有關的內存。不要直接調用 ~TClipboard。用 delete替代。

TClipboard::Assign

virtual void __fastcall Assign(Classes::TPersistent* Source);

用於從Clipboard中檢索一個對象或者向Clipboard中復制一個對象.

使用Assign,可以從 Clipboard中放置圖片和從 Clipboard中檢索圖片。

Source參數指定的對象為將被復制的對象。例如,下列代碼從一個名為Bitmapl的位圖對象中,向Clipboard中復制位圖。

TClipboard::Assign(Bitmap);

若要從Clipboard中檢索一個對象,將該對象在其內的Clipboard賦值給新對象,也就是,賦值給調用其Assign方法的對象。例如,如果一個位圖在Clipboard中,下列代碼將該位圖自制到一個名為bitmapl 的位圖對象中。

Bitmap::Assign(Clipboard);

Formats屬性列出了向Clipboard中復制一個對象的格式類型。圖形對象如位圖和位圖文件,具有其自身的相應格式。使用HasFormat方法。可以確定剪貼板中的消息是否使用了一個與其指定對象相兼容的格式。

TClipboard::Clear

void __fastcall Clear(void);

刪除Clipboard 中的內容。

調用Clear 將清空剪貼板。每當向Clipboard中加入數據(剪切和復制操作)時,Clear被自動調用。

TClipboard::Close

void __fastcall Close(void);

如果Clipboard是打開的,則Close用於關閉Clipboard。當完成向Clipboard中加入項目時,調用Close。在剪貼板被關閉之前,通過調用Open方法,Clipboaard可能被多次打開。Open和Close方法都保存一剪貼板已被打開次數的計數器。直到剪貼板被關閉次數與已被打開次數相同時,剪貼板才確實被關閉。

TClipboard::GetAsHandle

int __fastcall GetAsHandle(Word Format);

用於從剪貼板返回指定格式的句柄數據。

使用GetAsHandle可以利用Windows句柄從Clipboard中檢索數據。該句柄不屬於應用程序且數據將被復制。

注意:只有當Clipboard為打開時GetAsHandle返回的句柄才是有效的。Clipboard一關閉,就由Windows重新分配句柄且不再是可存取的。如果與句柄關聯的數據需要一段時間復制數據,句柄被推薦。

HasFormat方法列出一些作為Format參數使用的可用格式。此外,應用程序能夠定義和注冊自己的格式。

TClipboard::GetComponent

Classes::TComponent* __fastcall GetComponent(Classes::TComponent* Ower,Classes::TComponent* Parent);

根據Owner 參數和Parent的參數值,從 Chipboerd中粘貼一個組件。

使用CerComponent可以檢索一個保存在Chpboard中的組件,指定Owbet參數作為被檢索組件(通常為一個窗體)的所有者組件。指定Parent參數作為組件父體的組件。Owner參數和Parent 參數都可以為NULL。

在能夠從Clipboard中讀取一個類之前,首先必須用Classes 單元通過調用RegisterClasses方法對它進行注冊。如果試圖讀取一個還沒有注冊的類,將收到一個EClassNotFound異常。

TClipboard::GetTextBuf

int __fastcall GetTextBuf(char* Buffer,int BufSize);

從Clipboard中檢索文本並自制到一個緩沖區。

使用GetTextBuf可以從Clipboard中檢索文本並復制到指向Buffer參數的緩沖區。GetTextBuf復制由BufSize參數給定的字符量並返回復制的字符數量。

Buffer參數中文本是一個空終止的字符串。

TClipboard::HasFormat

bool __fastcall HasFormat(Word Format);

表示Clipboard對象是否包含一個特定格式。

使用HasFormat可以查明剪貼板中的消息是否以一個特定格式進行編碼。如果HasFormat為True,則存在格式;如果HasFormat為False,則不存在格式。Clipboard對象保存Formaats數組屬性中可用格式的一個列表。Format參數可經是下表中的數值。Windows或其他Windows應用程序提供了許多的Clipboard格式。定制格式也被注冊。所有這些都可由HasFormat支持。

TClipboard::Open

void __fastcall Open(void);

打開Clipboard,在關閉之前可以避免其他應用程序修改其內容。

向Clipboard中加入一個單個項目時,應用程序不必調用open。但當向Clipboard中加入一系列項目時,調用Open可以避免內容被每一個增加項覆蓋。

若要加入多個項目,聲音Open方法可以避免Clipboard中內容被其他應用程序覆蓋或修改。

當應用程序已向Clipboard中加入所有的項目時,將調用Close方法。

TClipboard::SetAsHandle

void __fastcall SetAsHandle(Word Format,int Value);

按給定格式放置作為一個Windows句柄的數據。

使用SetAsHandle通過使用Windows句柄可以向Clipboard中寫入數據。SetAsHandle向Clipboard中寫入由指定句柄(Value參數)表示的消息。一旦應用程序向Clipboard給出了保存柄,則由句柄表示的數值將屬於剪貼切板,而不是應用程序。Clipboard將釋放表示的資源。

注意:Hlipboard方法列出一些作不Format參數使用的可用格式。此外,應用程序能夠定義和注冊自己的格式。

TClipboard::SetComponent

void __fastcall SetComponent(Classes::TComponent* Component);

向Clipboaard中自制一個組件。

使用SetCompinent可以向Clipboard中自制一個組件,指定需要復制的組件作為Component參數的數值。

TClipboard::SetTextBuf

void __fastcall SetTextBuf(char* buffer);

向Cllipboard中寫入一個文本緩沖區。

使用SetTextBuf可以從一個緩沖區中自制文本。Buffer參數必須指向一個空終止符的字符串。

TClipboard::TClipboard

__fastcall virtual TClipboard(void);

創建一個新的TClipboard對象。

不要直接調用Tclipboard來創建TClipboard對象。在運行時用new來創建TClipboard的引用。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved