共用方式為


剪貼板

剪貼簿 是一組函式和訊息,可讓應用程式傳輸數據。 由於所有應用程式都可以存取剪貼簿,因此可以在應用程式或應用程式內輕鬆傳輸數據。

此概觀不會描述如何複製和貼上連結或內嵌的物件。 如需這些主題的資訊,請參閱元件物件模型 (COM) 檔。

本節中

下列主題提供剪貼簿、剪貼簿格式、剪貼簿作業和剪貼簿訊息的相關信息。 API 參考包含可用來處理剪貼簿的函式和訊息。

名字 描述
關於剪貼簿 討論剪貼簿。
剪貼簿格式 討論剪貼簿格式。 視窗可以在剪貼簿上放置多個物件,每個物件都以不同的剪貼簿格式來表示相同的資訊。 使用者不需要知道剪貼簿上物件所使用的剪貼簿格式。
剪貼簿作業 討論剪貼簿作業。 剪下、複製或貼上數據時,視窗應該使用剪貼簿。 視窗會將數據放在剪貼簿上以進行剪下和複製作業,並從剪貼簿擷取數據以進行貼上作業。
HTML 剪貼簿格式 討論 HTML 剪貼簿格式。
使用剪貼簿 剪貼簿查看器視窗會顯示剪貼簿的目前內容,並在剪貼簿內容變更時接收訊息。
剪貼簿參考 包含 API 參考。

剪貼簿函式

下表列出可用來處理剪貼簿的函式:

名字 描述
AddClipboardFormatListener 將指定的視窗放在系統維護的剪貼簿格式接聽程式清單中。
ChangeClipboardChain 從剪貼簿查看器鏈結中移除指定的視窗。
CloseClipboard 關閉剪貼簿。
CountClipboardFormats 擷取剪貼簿上目前不同數據格式的數目。
EmptyClipboard 清空剪貼簿,並釋放剪貼簿中的數據句柄。 然後,函式會將剪貼簿的擁有權指派給目前開啟剪貼簿的視窗。
EnumClipboardFormats 列舉剪貼簿上目前可用的數據格式。 剪貼簿數據格式會儲存在已排序的清單中。 若要執行剪貼簿數據格式的列舉,您可以對 EnumClipboardFormats 函 式進行一系列呼叫。 針對每個呼叫,格式 參數會指定可用的剪貼簿格式,而且函式會傳回下一個可用的剪貼簿格式。
GetClipboardData 以指定的格式從剪貼簿擷取數據。 剪貼簿先前必須已開啟。
GetClipboardFormatName 從剪貼簿擷取指定之已註冊格式的名稱。 函式會將名稱複製到指定的緩衝區。
GetClipboardOwner 擷取剪貼簿目前擁有者的視窗句柄。
GetClipboardSequenceNumber 擷取目前視窗月臺的剪貼簿序號。
GetClipboardViewer 擷取剪貼簿查看器鏈結中第一個視窗的句柄。
GetOpenClipboardWindow 擷取目前開啟剪貼簿之視窗的句柄。
GetPriorityClipboardFormat 擷取指定清單中的第一個可用剪貼簿格式。
GetUpdatedClipboardFormats 擷取目前支援的剪貼簿格式。
IsClipboardFormatAvailable 判斷剪貼簿是否包含指定格式的數據。
OpenClipboard 開啟剪貼簿以供檢查,並防止其他應用程式修改剪貼簿內容。
RegisterClipboardFormat 註冊新的剪貼簿格式。 然後,這個格式可以當做有效的剪貼簿格式使用。
RemoveClipboardFormatListener 從系統維護的剪貼簿格式接聽程式清單中移除指定的視窗。
SetClipboardData 以指定的剪貼簿格式將數據放在剪貼簿上。 窗口必須是目前的剪貼簿擁有者,而且應用程式必須已呼叫 OpenClipboard 函式。 (回應 WM_RENDERFORMAT 訊息時,剪貼簿擁有者在呼叫 SetClipboardData 之前不得呼叫 OpenClipboard
SetClipboardViewer 將指定的視窗新增至剪貼簿查看器鏈結。 每當剪貼簿的內容變更時,剪貼簿查看器視窗就會收到 WM_DRAWCLIPBOARD 訊息。

剪貼簿訊息

下表列出傳送至剪貼簿查看器視窗的訊息:

名字 描述
WM_CLEAR 傳送至編輯控件或下拉式方塊,以從編輯控件刪除目前選取範圍(清除)。
WM_COPY 傳送至編輯控件或下拉式方塊,以 CF_TEXT 格式將目前的選取範圍複製到剪貼簿。
WM_CUT 傳送至編輯控制項或下拉式方塊以刪除目前的選取範圍(如果有的話),然後將已刪除的文字以 CF_TEXT 格式複製到剪貼簿。
WM_PASTE 傳送至編輯控制項或下拉式方塊,將剪貼簿的目前內容複製到目前插入號位置的編輯控制件。 只有在剪貼簿包含 CF_TEXT 格式的數據時,才會插入數據。

剪貼簿通知

下表列出傳送至剪貼簿查看器視窗的剪貼簿通知訊息:

名字 描述
WM_ASKCBFORMATNAME 由剪貼簿查看器視窗傳送至剪貼簿擁有者,以要求 CF_OWNERDISPLAY 剪貼簿格式的名稱。
WM_CHANGECBCHAIN 從鏈結中移除視窗時,傳送至剪貼簿查看器鏈結中的第一個視窗。
WM_CLIPBOARDUPDATE 當剪貼簿的內容變更時傳送。
WM_DESTROYCLIPBOARD 當呼叫 EmptyClipboard 函式清空剪貼簿時,會傳送至剪貼簿擁有者。
WM_DRAWCLIPBOARD 當剪貼簿的內容變更時,傳送至剪貼簿查看器鏈結中的第一個視窗。 這可讓剪貼簿查看器視窗顯示剪貼簿的新內容。
WM_HSCROLLCLIPBOARD 由剪貼簿查看器視窗傳送至剪貼簿擁有者。 當剪貼簿包含 CF_OWNERDISPLAY 格式的數據,而且剪貼簿查看器的水準滾動條中發生事件時,就會發生這種情況。 擁有者應該捲動剪貼簿影像,並更新滾動條值。
WM_PAINTCLIPBOARD 當剪貼簿包含 CF_OWNERDISPLAY 格式的數據,且剪貼簿查看器的工作區需要重新整理時,由剪貼簿查看器視窗傳送至剪貼簿擁有者。
WM_RENDERALLFORMATS 如果剪貼簿擁有者延遲轉譯一或多個剪貼簿格式,則會在剪貼簿擁有者終結之前傳送至剪貼簿擁有者。 若要讓剪貼簿的內容可供其他應用程式使用,剪貼簿擁有者必須以能夠產生的所有格式轉譯數據,並藉由呼叫 SetClipboardData 函式將數據放在剪貼簿上。
WM_RENDERFORMAT 如果剪貼簿擁有者延遲轉譯特定的剪貼簿格式,以及應用程式要求該格式的數據,則傳送至剪貼簿擁有者。 剪貼簿擁有者必須以指定的格式轉譯數據,並藉由呼叫 SetClipboardData 函式將其放在剪貼簿上。
WM_SIZECLIPBOARD 當剪貼簿包含 CF_OWNERDISPLAY 格式的數據,且剪貼簿查看器的客戶區域大小發生變更時,由剪貼簿查看器視窗傳送至剪貼簿擁有者。
WM_VSCROLLCLIPBOARD 當剪貼簿包含 CF_OWNERDISPLAY 格式的數據,並在剪貼簿查看器的垂直滾動條中發生事件時,由剪貼簿查看器視窗傳送至剪貼簿擁有者。 擁有者應該捲動剪貼簿影像,並更新滾動條值。

結構

下表列出與剪貼簿搭配使用的結構:

名字 描述
METAFILEPICT 定義用來透過剪貼簿交換元文件數據的元文件圖片格式。