Condividi tramite


Limitazioni di CImage con sistemi operativi precedenti

Molte funzioni di CImage funzionano solo con le versioni più recenti di windows: 95/98 Windows NT o Windows 4.0, Windows 2000. In questo articolo vengono descritte le limitazioni della versione di determinati metodi.

CImage::PlgBlt e di CImage::MaskBlt solo con Windows NT 4.0 o successiva. Non funzioneranno per le applicazioni in esecuzione su Windows 95/98 o versioni successive.

CImage::AlphaBlend e di CImage::TransparentBlt solo con Windows 2000 o versioni successive e Windows 98 o versioni successive in quanto è necessario accedere con msimg32.lib per utilizzare questi metodi. (Questa libreria è disponibile solo per le applicazioni che eseguono Windows 2000 o versioni successive e Windows 98 o successiva.)

È possibile importare AlphaBlend e TransparentBlt in un'applicazione eseguita in Windows 95 o Windows NT 4.0 solo se questi metodi non gli elementi chiamati. Se l'applicazione include questi metodi e deve funzionare nei sistemi operativi precedenti, è necessario utilizzare /delayload del linker per ritardare il caricamento di msimg32.lib. Finché l'applicazione non chiama uno di questi metodi durante l'esecuzione in Windows NT 4.0 o Windows 95, non tenta di caricare msimg32.lib. È possibile controllare se il supporto della trasparenza è disponibile tramite il metodo di CImage::IsTransparencySupported.

Esempio

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

Per compilare un'applicazione che chiamati questi metodi, inserire un'istruzione #define _WIN32_WINNT prima di #including le intestazioni di sistema, per indicare che la versione di Windows è uguale o superiore a 5,0:

#define _WIN32_WINNT 0x0501

Se l'applicazione non deve essere eseguita in un sistema operativo precedente di Windows 2000 o Windows 98, è possibile accedere direttamente a msimg32.lib senza utilizzare /delayload.

CImage::Draw si comporta in modo diverso quando vengono utilizzate con Windows 2000 e Windows 98 che funziona con Windows NT 4.0 o Windows 95.

Se si compila l'applicazione con _WIN32_WINNT impostato su un valore inferiore a 0x0500, Disegna eseguito, ma non gestirà la trasparenza automaticamente nei sistemi con Windows 2000 e Windows 98 e versioni successive.

Se si compila l'applicazione con _WIN32_WINNT impostato a 0x0500 o superiore, Disegna manterrà la trasparenza automaticamente nei sistemi con Windows 2000 o Windows 98 e versioni successive. Viene inoltre eseguito, ma senza supporto di trasparenza, con Windows NT 4.0 e Windows 95; tuttavia, è necessario utilizzare /delayload per ritardare il caricamento di msimg32.LIB, come descritto in precedenza per AlphaBlend e TransparentBlt.

Vedere anche

Riferimenti

CImage Class