IPropertyDescription::FormatForDisplay 方法 (propsys.h)
获取属性值的格式化 Unicode 字符串表示形式。
语法
HRESULT FormatForDisplay(
[in] REFPROPVARIANT propvar,
[in] PROPDESC_FORMAT_FLAGS pdfFlags,
[out] LPWSTR *ppszDisplay
);
参数
[in] propvar
类型: REFPROPVARIANT
对 PROPVARIANT 结构的引用,该结构包含 属性的类型和值。
[in] pdfFlags
指示属性字符串格式的一个或多个 PROPDESC_FORMAT_FLAGS 标志(按位值或多个值)。
[out] ppszDisplay
类型: LPWSTR*
指向包含显示文本的以 null 结尾的 Unicode 字符串的指针的地址。
返回值
类型: HRESULT
返回以下值之一。
返回代码 | 说明 |
---|---|
|
字符串已复制且 以 null 结尾,未截断。 此字符串可能由于输入字符串为空或从格式化为空字符串的非空值返回。 |
|
空字符串由VT_EMPTY生成。 |
|
pszText 参数为 NULL。 |
|
由于空间不足,复制操作失败。 目标缓冲区被修改为包含理想结果的截断版本,并且以 null 结尾。 |
注解
在调用 IPropertyDescription::FormatForDisplay 之前,必须使用 CoInitialize 或 OleInitialize 初始化组件对象模型 (COM) 。
成功后,此方法获取指定 PROPERTYKEY 的属性值的格式化 Unicode 字符串表示形式,以及一个或多个 PROPDESC_FORMAT_FLAGS。
此方法的目的是将数据转换为适合向用户显示的字符串。 根据当前区域设置、用户语言、 PROPDESC_FORMAT_FLAGS以及属性键指定的属性说明设置值的格式。 有关属性说明架构如何影响值的格式设置的信息,请参阅 displayInfo、 stringFormat、 booleanFormat、 numberFormat、 NMDATETIMEFORMAT 和 enumeratedList。 通常, PROPDESC_FORMAT_FLAGS 用于修改属性说明规定的格式。
输出字符串可以包含 Unicode 方向字符。 这些非节奏字符会影响 Unicode 双向算法,以便在从左到右 (LTR) 语言绘制到从右到左 (RTL) 窗口时正确显示值,反之亦然。 这些字符包括以下内容: "\x200e", "\x200f", "\x202a", "\x202b", "\x202c", "\x202d", "\x202e".
以下属性使用特殊格式,不受 引用PROPDESC_FORMAT_FLAGS (示例适用于当前区域设置设置为英语的字符串:通常,输出是本地化的,但) 指出的情况除外。
属性 | 格式 |
---|---|
System.FileAttributes | 以下文件属性转换为字母并追加以创建字符串 (例如值 0x1801 (FILE_ATTRIBUTE_READONLY |FILE_ATTRIBUTE_COMPRESSED |FILE_ATTRIBUTE_OFFLINE) 转换为“RCO”) :
|
System.Photo.ISOSpeed | 例如,“ISO-400”。 |
System.Photo.ShutterSpeed |
使用以下公式将 APEX 值转换为曝光时间:
例如,“2 秒”。或“1/125 秒”。 |
System.Photo.ExposureTime | 例如,“2 秒”。或“1/125 秒”。 |
System.Photo.Aperture |
使用以下公式将 APEX 值转换为 F 数:
例如“f/5.6”。 |
System.Photo.FNumber | 例如“f/5.6”。 |
System.Photo.SubjectDistance | 例如,“15 m”或“250 mm”。 |
System.Photo.FocalLength | 例如,“50 mm”。 |
System.Photo.FlashEnergy | 例如,“500 bpcs”。 |
System.Photo.ExposureBias | 例如,“-2 步”、“0 步”或“+3 步”。 |
System.Computer.DecoratedFreeSpace | 例如,“105 MB 可用,13.2 GB”。 |
System.ItemType | 例如,“应用程序”或“JPEG 映像”。 |
System.ComputerName | 例如,“LITWARE05 (此计算机) ”或“testbox07”。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | propsys.h |