Date de parution : 01/02/2000
- Cette fiche API a été lue 2746 fois
Description
LoadImage charge l'image d'une icône, d'un curseur ou d'un bitmap. Si la fonction réussit, la valeur de retour est un handle pour la nouvelle image chargée. Sinon, la valeur Null est retournée.
Identifie une instance de module qui contient l'image à charger. Pour charger une image OEM, mettre ce paramètre à zéro.
lpszName
Identifie l'image à charger.
Si le paramètre hinst n'est pas à Null et que fuLoad n'inclut pas LR_LOADFROMFILE, lpszName est un pointeur sur une chaîne à terminateur nul qui contient le nom de la ressource image dans le module hinst.
Si hinst est à Null et LR_LOADFROMFILE n'est pas spécifié, le mot de poids faible de ce paramètre sera l'identifiant de l'image OEM à charger. Les identifiants d'image OEM sont définis dans le fichier WINUSER.H et ont les préfixes suivants :
Préfixe
Signification
OBM_
OEM bitmaps
OIC_
OEM icônes
OCR_
OEM curseurs
Windows 95 : si le paramètre fuLoad inclut la valeur LR_LOADFROMFILE, lpszName est le nom du fichier qui contient l'image.
Windows NT : LR_LOADFROMFILE n'est pas supporté.
uType
Précise le type d'image à être chargée. Ce paramètre peut être une des valeurs suivantes :
Valeur
Signification
IMAGE_BITMAP
Charge une image bitmap.
IMAGE_CURSOR
Charge un curseur.
IMAGE_ICON
Charge une icône.
cxDesired
Précise la largeur désirée en pixels de l'icône ou du curseur. Si ce paramètre est à zéro et fuLoad n'inclut pas LR_LOADREALSIZE, la fonction utilise les valeurs SM_CXICON ou SM_CXCURSOR du système métrique pour paramétrer la largeur.
cyDesired
Précise la hauteur désirée en pixels de l'icône ou du curseur. Si ce paramètre est à zéro et fuLoad n'inclut pas LR_LOADREALSIZE, la fonction utilise les valeurs SM_CYICON ou SM_CYCURSOR du système métrique pour paramétrer la hauteur.
fuLoad
Précise une combinaison des valeurs suivantes :
Valeur
Signification
LR_DEFAULTCOLOR
Ce sémaphore par défaut ne fait rien. Cela signifie juste qu'il n'est "pas LR_MONOCHROME".
LR_LOADREALSIZE
Charge une image sans étirement.
LR_CREATEDIBSECTION
Windows 95 only: When the uType parameter specifies IMAGE_BITMAP, causes the function to return a DIB section bitmap rather than a compatible bitmap. This flag is useful for loading a bitmap without mapping it to the colors of the display device.
LR_DEFAULTSIZE
Windows 95 only: Uses the width or height specified by the system metric values for cursors and icons, if the cxDesired or cyDesired values are set to zero. If this flag is not specified and cxDesired and cyDesired are set to zero, the function sets the size to that specified in the resource. If the resource contains multiple images, the function sets the size to that of the first image.
LR_LOADFROMFILE
Windows 95 seulement : charge l'image depuis le fichier spécifié par le paramètre lpszName. S'il n'est pas spécifié, lpszName est le nom de la ressource.
LR_LOADMAP3DCOLORS
Windows 95 seulement : recherche la table des couleurs pour l'image et remplace l'ombrage de gris par la couleur 3D correspondante :
Couleur
A remplacer avec
Gris sombre, RGB(128,128,128)
COLOR_3DSHADOW
Gris, RGB(192,192,192)
COLOR_3DFACE
Gris clair, RGB(223,223,223)
COLOR_3DLIGHT
LR_LOADTRANSPARENT
Windows 95 seulement : retrouve la couleur du premier pixel dans l'image et remplace l'entrée correspondant dans la table des couleurs avec la couleur de fenêtre par défaut (COLOR_WINDOW). Tous les pixels dans l'image qui utilisent cette entrée prennent cette couleur. Cette valeur s'applique seulement sur les images qui utilisent la table.
LR_MONOCHROME
Windows 95 seulement : charge l'image en noir et blanc.
LR_SHARED
Windows 95 seulement : partage le handle de l'image chargé en multiples fois. Si LR_SHARED n'est pas mis, un second appel de LoadImage pour la même ressource sera effectué et un handle différent sera retourné. N'utilisez pas LR_SHARED pour des images qui n'ont pas detaille standard, cela pourrait changer après chargement.
Compatibilité
Win9x, WinNT, Win2000
Remarque
Exemple 1
// Mettre son programme en icône dans la barre de tâches des programmes
// résidents (systray)
// Il faut créer 2 procédures internes dans la fenêtre mère :
// GereIcone() et TraiteIcone()
// Seule GereIcone() est appelée dans le traitement d'ouverture,
// de fermeture de la fenêtre.
// La première procédure GereIcone permet de gérer l'icône au départ dans
// la barre de tâches : Ajout, modification ou suppression.
// La seconde procédure TraiteIcone permet de déclencher un traitement
// sur un des événements de l'icône :
// Clic gauche ou droit, double-clic, bouton enfoncé ou bouton relâché.
// NomIcone = Nom du .ICO à utiliser
// Mode = Action à réaliser
// 1 - Ajouter = Faire apparaître l'icône
// 2 - Modifier = Changer d'icône
// 3 - Supprimer = Faire disparaître l'icône
// NB : En Ajout ou Modification, on peut choisir la bulle
// d'aide de l'icône
// Ce code vous est offert par Beaussier en ligne
hIcon est un entier long
lpIconName est une chaîne asciiz sur 255
Res est un entier long
Cmd est un entier long
NumEvenement est un entier long = 0x8000 + 100
lpIconName = NomIcone
lpData est un NOTIFYICONDATA
// préparation de l'icône à afficher
SELON Mode
CAS "Ajouter" // Ajout de l'icône
// chargement de l'icône et récupération de son handle
hIcon = AppelDLL32("user32", "LoadImageA", Instance(), &lpIconName,1,16,16,16)
Cmd = 0 // N° de la commande "shell_NotifyIconA"
CAS "Modifier" // Modification de l'icône
// chargement de l'icône et récupération de son handle
hIcon = AppelDLL32("user32","LoadImageA", Instance(), &lpIconName,1,16,16,16)
Cmd = 1 // N° de la commande "shell_NotifyIconA"
CAS "Supprimer" // Suppression de l'icône
// récupération d'un handle d'icône vide
hIcon = AppelDLL32("user32", "LoadIconA", 0, 32514)
Cmd = 2 // N° de la commande "shell_NotifyIconA"
// Procédure événementielle détectant toute action faite sur l'icône
// On peut déclencher un traitement sur un des événements de l'icône :
// Clic gauche (enfoncé / relaché)
// Clic droit (enfoncé / relaché)
// Double-clic (Gauche ou droit)
// Ce code vous est offert par Beaussier en ligne
SI _EVE.wparam = 100
SELON _EVE.lparam
CAS 513
//Oreille gauche de souris enfoncé sur l'icône
CAS 514
//Oreille gauche de souris relâché sur l'icône
CAS 515
//Double clic oreille gauche sur l'icône
SI FenEtat(FenEnCours()) = Invisible ALORS
// Activation de l'application
FenEtat(FenEnCours(), Actif)