DataObjectFormat
DataObjectFormat描述DataObject保存值的格式之一。此描述符是迭代DataObjectFormats集合时产生的元素类型,公开了运行时协商传输所需的一切信息:数据所处的剪贴板格式类型、提供的数据方面(渲染)以及字节的存储方式。
成员
AspectIndex
返回或设置所选AspectType中从一开始的索引,类型为Long。
语法:object.AspectIndex [ = value ]
对于具有多个页面或帧的方面——例如以dvaspect_Content渲染的多页图元文件——AspectIndex选择此描述符引用的页面或帧。对于单方面格式,保留默认值即可。
AspectType
返回或设置描述符引用的底层数据渲染方式,类型为AspectTypeConstants值。
语法:object.AspectType [ = value ]
常见值为dvaspect_Content(数据本身)、dvaspect_Thumbnail(小预览)、dvaspect_Icon和dvaspect_DocPrint(打印时渲染)。大多数格式只公开dvaspect_Content。
FormatType
返回或设置剪贴板格式类型,类型为ClipboardConstants值。
语法:object.FormatType [ = value ]
示例:vbCFText、vbCFUnicodeText、vbCFBitmap、vbCFFiles。同一数字标识符可传递给GetData或GetFormat。
Name
返回格式的人类可读名称,类型为String。只读。
语法:object.Name
对于内置剪贴板格式,这是稳定的标签,如"Text"或"Bitmap";对于通过RegisterClipboardFormat注册的格式,这是注册时使用的名称,也是GetDataByName和GetFormatByName接受的键。
StorageType
返回或设置数据的存储方式,类型为StorageTypeConstants值。
语法:object.StorageType [ = value ]
标识用于传输字节的介质——全局内存句柄、文件路径、IStream、IStorage、GDI句柄、图元文件或增强型图元文件。运行时通常自动协商此值;仅在需要与要求特定介质的另一组件互操作时才需要直接设置。
示例
此示例读取DataObject上第一个可用格式的名称和类型。
If Data.AvailableFormats.Count > 0 Then
Dim fmt As DataObjectFormat
Set fmt = Data.AvailableFormats.Item(1)
Debug.Print fmt.Name & " (" & fmt.FormatType & ")"
End If