Partager via


Fonction LoadIconWithScaleDown (commctrl.h)

Charge une icône. Si l’icône n’est pas d’une taille standard, cette fonction réduit la taille d’une image plus grande au lieu de monter en puissance une image plus petite.

Syntaxe

HRESULT LoadIconWithScaleDown(
  [in]  HINSTANCE hinst,
  [in]  PCWSTR    pszName,
  [in]  int       cx,
  [in]  int       cy,
  [out] HICON     *phico
);

Paramètres

[in] hinst

Type : HINSTANCE

Handle du module d’un fichier DLL ou exécutable (.exe) contenant 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 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 ordinal. Cet ordinal doit être empaqueté à l’aide de la macro MAKEINTRESOURCE .

Si hinst a la valeur NULL, pszName spécifie l’identificateur (à partir du préfixe IDI_) d’une icône système prédéfinie à charger.

[in] cx

Type : int

Largeur souhaitée, en pixels, de l’icône.

[in] cy

Type : int

Hauteur souhaitée, en pixels, de l’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, ou une valeur d’erreur dans le cas contraire, y compris les éléments suivants :

Code de retour Description
E_INVALIDARG
Le contenu de la mémoire tampon pointée vers pszName ne correspond à aucune des interprétations attendues.

Remarques

Cette fonction recherche d’abord dans le fichier d’icône une icône ayant exactement la même taille. Si aucune correspondance n’est trouvée, à moins que cx et cy ne correspondent à l’une des tailles d’icône standard (16, 32, 48 ou 256 pixels), l’icône la plus grande suivante est sélectionnée, puis mise à l’échelle jusqu’à la taille souhaitée. Par exemple, si une icône avec une dimension x de 40 pixels est demandée par l’application callign, l’icône de 48 pixels est utilisée et mise à l’échelle jusqu’à 40 pixels. En revanche, la fonction LoadImage sélectionne l’icône de 32 pixels et la met à l’échelle jusqu’à 40 pixels.

Si la fonction ne parvient pas à localiser une icône plus grande, elle utilise par défaut le comportement standard qui consiste à rechercher la plus petite icône suivante et à la mettre à l’échelle jusqu’à la taille souhaité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