lookupIconIdFromDirectoryEx 函数 (winuser.h)

搜索图标 (RT_GROUP_ICON) 或光标 (RT_GROUP_CURSOR 最适合当前显示设备的图标或光标) 资源数据。

如果资源组中存在多个映像,则此方法使用以下条件来选择一个映像:

  • 选择最接近但不超过请求大小的图像。
  • 如果存在两个或更多个该大小的图像,则选择与显示器的颜色深度匹配的图像。
  • 如果没有图像与显示器的颜色深度完全匹配,则选择颜色深度不超过显示器颜色深度的最大图像。 如果全部超过颜色深度,则选择颜色深度最低的颜色深度。

语法

int LookupIconIdFromDirectoryEx(
  [in] PBYTE presbits,
  [in] BOOL  fIcon,
  [in] int   cxDesired,
  [in] int   cyDesired,
  [in] UINT  Flags
);

parameters

[in] presbits

类型: PBYTE

图标或游标目录数据。 由于此函数不验证资源数据,因此它会导致常规保护 (GP) 故障,或者如果 presbits 未指向有效的资源数据,则返回未定义的值。

[in] fIcon

类型: BOOL

指示是寻求图标还是游标。 如果此参数为 TRUE,则函数将搜索图标;如果参数为 FALSE,则表示函数正在搜索游标。

[in] cxDesired

类型: int

图标的所需宽度(以像素为单位)。 如果此参数为零,则函数使用 SM_CXICONSM_CXCURSOR 系统指标值。

[in] cyDesired

类型: int

图标的所需高度(以像素为单位)。 如果此参数为零,则函数使用 SM_CYICONSM_CYCURSOR 系统指标值。

[in] Flags

类型: UINT

以下值的组合。

含义
LR_DEFAULTCOLOR
0x00000000
使用默认颜色格式。
LR_MONOCHROME
0x00000001
创建单色图标或光标。

返回值

类型: int

如果函数成功,则返回值是最适合当前显示设备的图标 (RT_ICON) 或游标 (RT_CURSOR) 的整数资源标识符。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。

注解

类型为 RT_GROUP_ICON (RT_GROUP_CURSOR 的资源文件指示游标) 包含图标 (或游标) 多种与设备无关的格式的数据。 LookupIconIdFromDirectoryEx 在资源文件中搜索最适合当前显示设备的图标 (或光标) ,并返回其整数标识符。 FindResourceFindResourceEx 函数使用此标识符的 MAKEINTRESOURCE 宏来查找模块中的资源。

图标目录是从资源文件加载的,该文件的资源类型RT_GROUP_ICON游标 ) (或 RT_GROUP_CURSOR ,特定图标的整数资源名称 (RT_ICON 要加载) 或游标 (RT_CURSOR) 。 LoadResourceCreateIconFromResourceEx 函数可用于创建相应的图标或光标。

LoadIconLoadImageLoadCursor 函数使用此函数在指定的资源数据中搜索最适合当前显示设备的图标或光标。 LoadIconWithScaleDown 使用备用搜索条件来获得最佳拟合。

示例

有关示例,请参阅 共享图标资源

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll

另请参阅

概念性

CreateIconFromResourceEx

CreateIconIndirect

FindResource

FindResourceEx

GetIconInfo

图标

LoadCursor

LoadIcon

LoadImage

LookupIconIdFromDirectory

MAKEINTRESOURCE

引用