标准剪贴板格式

系统定义的剪贴板格式称为 标准剪贴板格式。 下表介绍了这些剪贴板格式。

示例

  case CF_BITMAP:
        hdcMem = CreateCompatibleDC(hdc);
        if (hdcMem != NULL)
        {
            if (OpenClipboard(hwnd))
            {
                hbm = (HBITMAP) 
                     GetClipboardData(uFormat);
                SelectObject(hdcMem, hbm);
                GetClientRect(hwnd, &rc);
 
                BitBlt(hdc, 0, 0, rc.right, rc.bottom,
                    hdcMem, 0, 0, SRCCOPY);
                CloseClipboard();
             }
             DeleteDC(hdcMem);
        }
    break;

有关使用剪贴板的完整示例。

常量

常量/值 说明
CF_BITMAP
2
位图 (HBITMAP) 的句柄。
CF_DIB
8
包含 BITMAPINFO 结构的内存对象,后跟位图位。
CF_DIBV5
17
包含 BITMAPV5HEADER 结构的内存对象,后跟位图颜色空间信息和位图位。
CF_DIF
5
Software Arts 的数据交换格式。
CF_DSPBITMAP
0x0082
与专用格式关联的位图显示格式。 hMem 参数必须是可以以位图格式显示的数据的句柄,而不是专用格式的数据。
CF_DSPENHMETAFILE
0x008E
与专用格式关联的增强型图元文件显示格式。 hMem 参数必须是可以以增强型图元文件格式显示的数据的句柄,而不是专用格式的数据。
CF_DSPMETAFILEPICT
0x0083
与专用格式关联的图元文件图片显示格式。 hMem 参数必须是可以以图元文件图片格式显示的数据的句柄,而不是专用格式的数据。
CF_DSPTEXT
0x0081
与专用格式关联的文本显示格式。 hMem 参数必须是可以以文本格式显示的数据的句柄,而不是专用格式的数据。
CF_ENHMETAFILE
14
增强型图元文件的句柄 (HENHMETAFILE) 。
CF_GDIOBJFIRST
0x0300
应用程序定义的 GDI 对象剪贴板格式的整数值范围的开头。 范围的末尾为 CF_GDIOBJLAST
清空剪贴板时,不会使用 GlobalFree 函数自动删除与此范围内剪贴板格式关联的句柄。 此外,在此范围内使用值时, hMem 参数不是 GDI 对象的句柄,而是由 GlobalAlloc 函数使用 GMEM_MOVEABLE 标志分配的句柄。
CF_GDIOBJLAST
0x03FF
请参阅 CF_GDIOBJFIRST
CF_HDROP
15
类型 HDROP 的句柄,用于标识文件列表。 应用程序可以通过将句柄传递给 DragQueryFile 函数来检索有关文件的信息。
CF_LOCALE
16
数据是 HGLOBAL () 与剪贴板中的文本关联的区域设置标识符 (LCID) 的句柄。 关闭剪贴板时,如果剪贴板包含 CF_TEXT 数据但没有 CF_LOCALE 数据,系统会自动将 CF_LOCALE 格式设置为当前输入语言。 可以使用 CF_LOCALE 格式将不同的区域设置与剪贴板文本相关联。
从剪贴板粘贴文本的应用程序可以检索此格式,以确定用于生成文本的字符集。
请注意,剪贴板不支持多个字符集中的纯文本。 若要实现此目的,请改用带格式的文本数据类型,例如 RTF。
系统使用与 CF_LOCALE 关联的代码页从 CF_TEXT 隐式转换为 CF_UNICODETEXT。 因此,使用正确的代码页表进行转换。
CF_METAFILEPICT
3
METAFILEPICT 结构定义的图元文件图片格式的句柄。 通过 DDE 传递 CF_METAFILEPICT 句柄时,负责删除 hMem 的应用程序还应释放 CF_METAFILEPICT 句柄引用的图元文件。
CF_OEMTEXT
7
包含 OEM 字符集中字符的文本格式。 每行以回车符/换行符 (CR-LF) 组合结束。 null 字符表示数据结束。
CF_OWNERDISPLAY
0x0080
所有者显示格式。 剪贴板所有者必须显示和更新剪贴板查看器窗口,并接收 WM_ASKCBFORMATNAMEWM_HSCROLLCLIPBOARDWM_PAINTCLIPBOARDWM_SIZECLIPBOARDWM_VSCROLLCLIPBOARD 消息。 hMem 参数必须为 NULL
CF_PALETTE
9
调色板的句柄。 每当应用程序在依赖于或假定调色板的剪贴板中放置数据时,它也应该将调色板放在剪贴板上。
如果剪贴板包含 CF_PALETTE (逻辑调色板) 格式的数据,则应用程序应使用 SelectPaletteRealizePalette 函数实现 (剪贴板中) 任何其他数据与该逻辑调色板进行比较。
显示剪贴板数据时,剪贴板始终使用剪贴板上采用 CF_PALETTE 格式的任何对象作为其当前调色板。
CF_PENDATA
10
Microsoft Windows for Pen Computing 的笔扩展的数据。
CF_PRIVATEFIRST
0x0200
专用剪贴板格式的整数值范围的开头。 范围以 CF_PRIVATELAST结尾。 与专用剪贴板格式关联的句柄不会自动释放;剪贴板所有者必须释放此类句柄,通常是为了响应 WM_DESTROYCLIPBOARD 消息。
CF_PRIVATELAST
0x02FF
请参阅 CF_PRIVATEFIRST
CF_RIFF
11
表示的音频数据比以 CF_WAVE 标准波形格式表示的音频数据更为复杂。
CF_SYLK
4
Microsoft 符号链接 (SYLK) 格式。
CF_TEXT
1
文本格式。 每行以回车符/换行符 (CR-LF) 组合结束。 null 字符表示数据结束。 将此格式用于 ANSI 文本。
CF_TIFF
6
标记图像文件格式。
CF_UNICODETEXT
13
Unicode 文本格式。 每行以回车符/换行符 (CR-LF) 组合结束。 null 字符表示数据结束。
CF_WAVE
12
表示其中一种标准波形的音频数据,例如 11 kHz 或 22 kHz PCM。

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Winuser.h (包括 Windows.h)