剪貼簿

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

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

本節內容

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

剪貼簿函式

名稱 描述
AddClipboardFormatListener
將指定的視窗放在系統維護的剪貼簿格式接聽程式清單中。
ChangeClipboardChain
從剪貼簿查看器鏈結中移除指定的視窗。
CloseClipboard
關閉剪貼簿。
CountClipboardFormats
擷取剪貼簿上目前不同數據格式的數目。
EmptyClipboard
清空剪貼簿,並釋放剪貼簿中的數據句柄。 然後,函式會將剪貼簿的擁有權指派給目前開啟剪貼簿的視窗。
EnumClipboardFormats
列舉剪貼簿上目前可用的數據格式。
剪貼簿數據格式會儲存在已排序的清單中。 若要執行剪貼簿數據格式的列舉,您可以對 EnumClipboardFormats 函式進行一系列呼叫。 針對每個呼叫, format 參數會指定可用的剪貼簿格式,而函式會傳回下一個可用的剪貼簿格式。
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
定義用來透過剪貼簿交換元文件數據的元文件圖片格式。