剪切板的数据格式
剪切板数据格式剪切板中可能会存在各种各样的数据,因此剪切板中保存数据的同时还需要保存数据的格式信息。系统使用一个UINT类型的数据来表示剪切板中数据格式。这些格式信息中,很多是各种应用程序之间通用的,
剪切板数据格式 剪切板中可能会存在各种各样的数据,因此剪切板中保存数据的同时还需要保存数据的格式信息。 UINT 系统使用一个类型的数据来表示剪切板中数据格式。 这些格式信息中,很多是各种应用程序之间通用的,比如文本,位图等等。这些数据格式已经由系统预先定义,成为标准 格式。 当然应用程序也可以自行定义剪切板中的数据格式,这样可以方便地在同一个应用程序的不同实例间进行数据传递而不需 要对数据格式进行多次处理。 1. 表中格式: 格式值 意义 CF_BITMAP (HBITMAP) 位图句柄 CF_DIB BITMAPINFO 内存位置包括结构和位图数据 CF_ENHMETAFILE HENHMETAFILE 增强图元文件句柄() CF_OEMTEXT OEM 字符集的字符串 CF_OWNERDISPLAY 由剪切板查看器查看的格式 CF_PALETTE 调色板数据 CF_RIFF CF_WAVEwave 标准的波形()数据 CF_TEXT ANSI 字符 CF_WAVE Tagged 图像文件格式 CF_UNICODETEXT Unicode 字符串 2. 自定义格式 RegisterClipboardFormat(); 如果需要定义个数,那么调用 UINTRegisterClipboardFormat( LPCTSTRlpszFormat ); lpszFormatUINT 在调用时,便用参数制定一个格式名,函数会返回系统中为其分配的格式类型值() 3. 多种格式 很多情况下,剪切板的格式不至一种。 API 以下几个函数都用于获取当前剪切板中的格式信息。 GetPriorityClipboardFormat() 该函数的功能是检测剪切板中是否有特定格式的数据,函数原型如下: IntGetPriorityClipboardFormat( UINT*paFormatPriorityList, IntcFormats ); paFormatPriorityList 检测是否有参数制定的格式数组中的格式,如有有则返回数组中的第一个剪切板当前具 cFormatspaFromatPriorityList 有的格式,是数组的大小 CountClipboardFormatS() 该函数放回当前剪切板中的具有的不同格式的数量,函数原型如下: IntCountClipboardFormats(); EnumClipboardFormtS() 该函数可以列举当前剪切板中的所有格式,函数原型如下: UINTEnumClipboardFormats( UINTformat ); format 通过参数制定一个已知格式,通过返回值返回下一个格式, GetUpdatedClipboardFormats() 该函数获取当前剪切板的所有格式, BOOLGetUpdatedClipboardFormats(

