剪贴板
剪贴板是一组函数和消息,促使应用程序能够传输数据。 由于所有应用程序都可以访问剪贴板,因此可以在应用程序之间或在应用程序中轻松传输数据。
本概述不介绍如何复制和粘贴链接对象或嵌入对象。 有关这些主题的信息,请参阅组件对象模型 (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 |
定义用于通过剪贴板交换元文件数据的图元文件图片格式。 |