Partager via


Limitations de CImage aux systèmes d'exploitation antérieurs

De nombreuses fonctions d' CImage fonctionnent uniquement avec les versions plus récentes de windows : Windows 95/98 ou Windows NT 4,0, ou Windows 2000.Cet article décrit les limitations de version de certaines méthodes.

CImage::PlgBlt et CImage::MaskBlt fonctionnent uniquement avec Windows NT 4,0 ou version ultérieure.Ils ne fonctionneront pas aux applications qui s'exécutent sur Windows 95/98 ou version ultérieure.

CImage::AlphaBlend et CImage::TransparentBlt fonctionnent uniquement avec Windows 2000 ou version ultérieure et Windows 98 ou version ultérieure car vous devez établir une liaison avec msimg32.lib pour utiliser ces méthodes.(Cette bibliothèque est disponible que pour les applications qui exécutent Windows 2000 ou version ultérieure et Windows 98 ou version ultérieure.)

Vous pouvez inclure AlphaBlend et TransparentBlt dans une application qui s'exécute sur Windows 95 ou Windows NT 4,0 uniquement si ces méthodes ne sont jamais appelées.Si votre application comprend ces méthodes, et il doit s'exécuter sur les systèmes d'exploitation antérieurs, vous devez utiliser /delayload de l'éditeur de liens pour différer le chargement de msimg32.lib.Comme votre application n'appelle pas une de ces méthodes en s'exécutant sous Windows NT 4,0 ou Windows 95, elle n'essaie pas de charger msimg32.lib.Vous pouvez vérifier si la prise en charge de transparence est disponible à l'aide de la méthode d' CImage::IsTransparencySupported .

Exemple

if (CImage::IsTransparencySupported())
{
   // Safe to call CImage::AlphaBlend and CImage::TransparentBlt
}
else
{
   // Transparency not supported.  Fall back to something else.
}

Pour compiler une application qui appelle ces méthodes, insérez une instruction du #define _WIN32_WINNT avant de #including tous les en-têtes systèmes, indiquant que la version de Windows est égale ou supérieure à 5,0 :

#define _WIN32_WINNT 0x0501

Si votre application n'a pas besoin de s'exécuter sur un ancien du système d'exploitation que Windows 2000 ou Windows 98, vous pouvez lier directement à msimg32.lib sans utiliser /delayload.

CImage::Draw se comporte différemment en cas de utilisation avec Windows 2000 et Windows 98 qu'il fait avec Windows NT 4,0 ou Windows 95.

Si vous compilez votre application avec _WIN32_WINNT a une valeur inférieure à 0x0500, Draw exécuté, mais il ne gérera pas la transparence automatiquement sur les systèmes qui exécutent Windows 2000 et Windows 98 et versions ultérieures.

Si vous compilez votre application avec _WIN32_WINNT défini à 0x0500 ou supérieur, Draw gérera la transparence automatiquement sur les systèmes qui exécutent Windows 2000 ou Windows 98 et versions ultérieures.Il fonctionne également, mais sans prise en charge de transparence, avec Windows NT 4,0 et Windows 95 ; toutefois, vous devez utiliser /delayload pour différer le chargement de msimg32.LIB, comme décrit ci-dessus pour AlphaBlend et TransparentBlt.

Voir aussi

Référence

CImage, classe