LoadIconMetric 函数 (commctrl.h)
加载具有客户端指定的系统指标的指定图标资源。
语法
HRESULT LoadIconMetric(
[in] HINSTANCE hinst,
[in] PCWSTR pszName,
[in] int lims,
[out] HICON *phico
);
参数
[in] hinst
类型: HINSTANCE
DLL 或可执行文件 (.exe) 包含要加载的图标的模块的句柄。 有关详细信息,请参阅 GetModuleHandle。
若要加载预定义的系统图标或独立图标文件,请将此参数设置为 NULL。
[in] pszName
类型: PCWSTR
指向以 null 结尾的 Unicode 缓冲区的指针,该缓冲区包含有关要加载的图标的位置信息。
如果 hinst 为非 NULL, 则 pszName 按名称或序号指定图标资源。 必须使用 MAKEINTRESOURCE 宏打包此序号。
如果 hinst 为 NULL,pszName 将指定要加载的预定义系统图标的IDI_前缀) 的标识符 (。
[in] lims
类型: int
所需的指标。 以下值之一:
“值” | 含义 |
---|---|
|
对应于 SM_CXSMICON,即小图标的建议像素宽度。 |
|
对应于图标的默认像素宽度 SM_CXICON。 |
[out] phico
类型: HICON*
当此函数返回时,包含指向已加载图标句柄的指针。
返回值
类型: HRESULT
如果成功,则返回S_OK,否则返回错误,包括以下值。
返回代码 | 说明 |
---|---|
|
pszName 指向的缓冲区的内容不适合任何预期的解释。 |
注解
LoadIconMetric 类似于 LoadIcon,但具有指定图标指标的功能。 当调用应用程序希望确保高质量图标时,它用于代替 LoadIcon 。 这在每英寸高点数 (dpi) 情况下特别有用。
按如下所示提取或创建图标。
- 如果在资源中找到完全匹配的大小,则使用该图标。
- 如果找不到确切的大小匹配项,并且有更大的图标可用,则会通过将较大版本缩减到所需大小来创建一个新图标。
- 如果找不到确切的大小匹配项,并且没有较大的图标可用,则会通过将较小的图标纵向扩展到所需大小来创建一个新图标。
NOTIFYICONDATA nidIconData = {0};
nidIconData.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON));
// Or...
HRESULT hr = LoadIconMetric(hInstance, MAKEINTRESOURCE(IDI_ICON), LIM_SMALL, &nidIconData.hIcon);
应用程序负责在检索到的图标上调用 DestroyIcon 。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | commctrl.h |
Library | Comctl32.lib |
DLL | Comctl32.dll |