Fonction LookupIconIdFromDirectoryEx (winuser.h)

Recherche dans les données de ressource d’icône (RT_GROUP_ICON) ou de curseur (RT_GROUP_CURSOR) l’icône ou le curseur qui correspond le mieux à l’appareil d’affichage actuel.

S’il existe plusieurs images dans un groupe de ressources, cette méthode utilise les critères suivants pour choisir une image :

  • L’image la plus proche, mais ne dépassant pas la taille demandée, est sélectionnée.
  • Si plusieurs images de cette taille sont présentes, celle qui correspond à la profondeur de couleur de l’affichage est choisie.
  • Si aucune image ne correspond exactement à la profondeur de couleur de l’affichage, l’image avec la plus grande profondeur de couleur qui ne dépasse pas la profondeur de couleur de l’affichage est choisie. Si tous dépassent la profondeur de couleur, celui qui a la profondeur de couleur la plus faible est choisi.

Syntaxe

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

Paramètres

[in] presbits

Type : PBYTE

Données du répertoire de l’icône ou du curseur. Étant donné que cette fonction ne valide pas les données de ressource, elle provoque une erreur de protection générale (GP) ou retourne une valeur non définie si les prébits ne pointent pas vers des données de ressource valides.

[in] fIcon

Type : BOOL

Indique si une icône ou un curseur est recherché. Si ce paramètre a la valeur TRUE, la fonction recherche une icône ; si le paramètre a la valeur FALSE, la fonction recherche un curseur.

[in] cxDesired

Type : int

Largeur souhaitée, en pixels, de l’icône. Si ce paramètre est égal à zéro, la fonction utilise la valeur de métrique système SM_CXICON ou SM_CXCURSOR .

[in] cyDesired

Type : int

Hauteur souhaitée, en pixels, de l’icône. Si ce paramètre est égal à zéro, la fonction utilise la valeur de métrique système SM_CYICON ou SM_CYCURSOR .

[in] Flags

Type : UINT

Combinaison des valeurs suivantes.

Valeur Signification
LR_DEFAULTCOLOR
0x00000000
Utilise le format de couleur par défaut.
LR_MONOCHROME
0x00000001
Crée une icône ou un curseur monochrome.

Valeur retournée

Type : int

Si la fonction réussit, la valeur de retour est un identificateur de ressource entier pour l’icône (RT_ICON) ou le curseur (RT_CURSOR) qui correspond le mieux à l’appareil d’affichage actuel.

Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

Un fichier de ressources de type RT_GROUP_ICON (RT_GROUP_CURSOR indique des curseurs) contient des données d’icône (ou de curseur) dans plusieurs formats dépendants de l’appareil et indépendants de l’appareil. LookupIconIdFromDirectoryEx recherche dans le fichier de ressources l’icône (ou le curseur) qui correspond le mieux à l’appareil d’affichage actuel et retourne son identificateur entier. Les fonctions FindResource et FindResourceEx utilisent la macro MAKEINTRESOURCE avec cet identificateur pour localiser la ressource dans le module.

Le répertoire d’icônes est chargé à partir d’un fichier de ressources avec le type de ressource RT_GROUP_ICON (ou RT_GROUP_CURSOR pour les curseurs) et un nom de ressource entier pour l’icône (RT_ICON) ou le curseur (RT_CURSOR) à charger. Les fonctions LoadResource et CreateIconFromResourceEx peuvent être utilisées pour créer une icône ou un curseur correspondant.

Les fonctions LoadIcon, LoadImage et LoadCursor utilisent cette fonction pour rechercher dans les données de ressource spécifiées l’icône ou le curseur qui correspond le mieux au périphérique d’affichage actuel. LoadIconWithScaleDown utilise d’autres critères de recherche pour un meilleur ajustement.

Exemples

Pour obtenir un exemple, consultez Partage des ressources d’icône.

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête winuser.h (inclure Windows.h)
Bibliothèque User32.lib
DLL User32.dll

Voir aussi

Conceptuel

CreateIconFromResourceEx

CreateIconIndirect

FindResource

FindResourceEx

GetIconInfo

Icônes

LoadCursor

LoadIcon

LoadImage

LookupIconIdFromDirectory

MAKEINTRESOURCE

Référence