剪贴板

剪贴板 是一组函数和消息,使应用程序能够传输数据。 由于所有应用程序都可以访问剪贴板,因此可以在应用程序之间或应用程序中轻松传输数据。

本概述不介绍如何复制和粘贴链接的对象或嵌入对象。 有关这些主题的信息,请参阅组件对象模型 (COM) 文档。

在本部分中

名字 描述
关于剪贴板
讨论剪贴板。
剪贴板格式
讨论剪贴板格式。 一个窗口可以在剪贴板上放置多个对象,每个对象都以不同的剪贴板格式表示相同的信息。 用户无需注意剪贴板上对象所用的剪贴板格式。
剪贴板作
讨论剪贴板作。 在剪切、复制或粘贴数据时,窗口应使用剪贴板。 窗口在剪贴板上放置用于剪切和复制作的数据,并从剪贴板中检索用于粘贴作的数据。
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
定义用于通过剪贴板交换图元文件数据的图元文件图片格式。