LoadIconMetric, fonction (commctrl.h)
Charge une ressource d’icône spécifiée avec une métrique système spécifiée par le client.
Syntaxe
HRESULT LoadIconMetric(
[in] HINSTANCE hinst,
[in] PCWSTR pszName,
[in] int lims,
[out] HICON *phico
);
Paramètres
[in] hinst
Type : HINSTANCE
Handle pour le module d’un fichier DLL ou exécutable (.exe) qui contient l’icône à charger. Pour plus d’informations, consultez GetModuleHandle.
Pour charger une icône système prédéfinie ou un fichier d’icône autonome, définissez ce paramètre sur NULL.
[in] pszName
Type : PCWSTR
Pointeur vers une mémoire tampon Unicode terminée par un caractère Null qui contient des informations d’emplacement sur l’icône à charger.
Si hinst n’a pas la valeur NULL, pszName spécifie la ressource d’icône par nom ou par ordinal. Cet ordinal doit être empaqueté à l’aide de la macro MAKEINTRESOURCE .
Si hinst a la valeur NULL, pszName spécifie l’identificateur (en commençant par le préfixe IDI_) d’une icône système prédéfinie à charger.
[in] lims
Type : int
Métrique souhaitée. Une des valeurs suivantes :
Value | Signification |
---|---|
|
Correspond à SM_CXSMICON, la largeur de pixel recommandée d’une petite icône. |
|
Correspond à SM_CXICON, la largeur de pixel par défaut d’une icône. |
[out] phico
Type : HICON*
Lorsque cette fonction retourne, contient un pointeur vers le handle de l’icône chargée.
Valeur retournée
Type : HRESULT
Retourne S_OK en cas de réussite, sinon une erreur, y compris la valeur suivante.
Code de retour | Description |
---|---|
|
Le contenu de la mémoire tampon pointée vers pszName ne correspond à aucune des interprétations attendues. |
Remarques
LoadIconMetric est similaire à LoadIcon, mais avec la possibilité de spécifier la métrique d’icône. Il est utilisé à la place de LoadIcon lorsque l’application appelante souhaite garantir une icône de haute qualité. Cela est particulièrement utile dans les situations de points élevés par pouce (ppp).
Les icônes sont extraites ou créées comme suit.
- Si une correspondance de taille exacte est trouvée dans la ressource, cette icône est utilisée.
- Si une correspondance de taille exacte est introuvable et qu’une icône plus grande est disponible, une nouvelle icône est créée en mettant à l’échelle la version plus grande jusqu’à la taille souhaitée.
- Si une correspondance de taille exacte est introuvable et qu’aucune icône plus grande n’est disponible, une nouvelle icône est créée en mettant à l’échelle une icône plus petite jusqu’à la taille souhaitée.
NOTIFYICONDATA nidIconData = {0};
nidIconData.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON));
// Or...
HRESULT hr = LoadIconMetric(hInstance, MAKEINTRESOURCE(IDI_ICON), LIM_SMALL, &nidIconData.hIcon);
L’application est chargée d’appeler DestroyIcon sur l’icône récupérée.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | commctrl.h |
Bibliothèque | Comctl32.lib |
DLL | Comctl32.dll |