Función LoadIconMetric (commctrl.h)
Carga un recurso de icono especificado con una métrica del sistema especificada por el cliente.
Sintaxis
HRESULT LoadIconMetric(
[in] HINSTANCE hinst,
[in] PCWSTR pszName,
[in] int lims,
[out] HICON *phico
);
Parámetros
[in] hinst
Tipo: HINSTANCE
Identificador del módulo de un archivo DLL o ejecutable (.exe) que contiene el icono que se va a cargar. Para obtener más información, vea GetModuleHandle.
Para cargar un icono de sistema predefinido o un archivo de icono independiente, establezca este parámetro en NULL.
[in] pszName
Tipo: PCWSTR
Puntero a un búfer Unicode terminado en null que contiene información de ubicación sobre el icono que se va a cargar.
Si hinst no es NULL, pszName especifica el recurso de icono por nombre o ordinal. Este ordinal debe empaquetarse mediante la macro MAKEINTRESOURCE .
Si hinst es NULL, pszName especifica el identificador (empezando por el prefijo IDI_) de un icono de sistema predefinido que se va a cargar.
[in] lims
Tipo: int
Métrica deseada. Uno de los siguientes valores:
Valor | Significado |
---|---|
|
Corresponde a SM_CXSMICON, el ancho de píxel recomendado de un icono pequeño. |
|
Corresponde a SM_CXICON, el ancho de píxel predeterminado de un icono. |
[out] phico
Tipo: HICON*
Cuando esta función vuelve, contiene un puntero al identificador del icono cargado.
Valor devuelto
Tipo: HRESULT
Devuelve S_OK si se ejecuta correctamente; de lo contrario, se produce un error, incluido el siguiente valor.
Código devuelto | Descripción |
---|---|
|
El contenido del búfer al que apunta pszName no se ajusta a ninguna de las interpretaciones esperadas. |
Comentarios
LoadIconMetric es similar a LoadIcon, pero con la capacidad de especificar la métrica de icono. Se usa en lugar de LoadIcon cuando la aplicación que realiza la llamada quiere garantizar un icono de alta calidad. Esto es especialmente útil en situaciones de puntos altos por pulgada (ppp).
Los iconos se extraen o crean de la siguiente manera.
- Si se encuentra una coincidencia de tamaño exacta en el recurso, se usa ese icono.
- Si no se encuentra una coincidencia de tamaño exacta y hay disponible un icono más grande, se crea un nuevo icono mediante el escalado de la versión más grande hasta el tamaño deseado.
- Si no se encuentra una coincidencia de tamaño exacta y no hay ningún icono más grande disponible, se crea un nuevo icono mediante el escalado de un icono más pequeño hasta el tamaño deseado.
NOTIFYICONDATA nidIconData = {0};
nidIconData.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON));
// Or...
HRESULT hr = LoadIconMetric(hInstance, MAKEINTRESOURCE(IDI_ICON), LIM_SMALL, &nidIconData.hIcon);
La aplicación es responsable de llamar a DestroyIcon en el icono recuperado.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | commctrl.h |
Library | Comctl32.lib |
Archivo DLL | Comctl32.dll |