Omezení služby CImage ve starších operačních systémech
Mnoho CImage fungovat pouze v novějších verzích systému Windows: Windows 95/98 nebo Windows NT 4.0 nebo Windows 2000.Tento článek popisuje omezení verze některých metod.
CImage::PlgBlt a CImage::MaskBlt práce s pouze systém Windows NT 4.0 nebo novější.Na aplikace spuštěné v systému Windows 95/98 nebo novější nebudou funkční.
CImage::AlphaBlend a CImage::TransparentBlt práce s pouze systém Windows 2000 nebo vyšší a systém Windows 98 nebo novější, protože je nutné propojit s msimg32.lib použití těchto metod. (Tato knihovna je k dispozici pouze na aplikace spuštěné v systému Windows 2000 nebo vyšší a systém Windows 98 nebo novější).
Můžete zahrnout AlphaBlend a TransparentBlt v aplikaci, která pracuje v systému Windows 95 nebo Windows NT 4.0, pouze v případě, že tyto metody get nevolala.Pokud aplikace obsahuje tyto metody a musí běžet v dřívějších operačních systémech, je nutné použít propojovacího programu /delayload zpozdit načtení msimg32.lib.Tak dlouho, dokud aplikace nevyvolá jednu z těchto metod při spuštění v systému Windows NT 4.0 nebo Windows 95, nebude pokus o načtení msimg32.lib.Zkontrolujte, zda podpora průhlednost je k dispozici pomocí CImage::IsTransparencySupported metody.
Příklad
if (CImage::IsTransparencySupported())
{
// Safe to call CImage::AlphaBlend and CImage::TransparentBlt
}
else
{
// Transparency not supported. Fall back to something else.
}
Kompilovat aplikaci, která volá tyto metody, vložit #define _WIN32_WINNT příkazu před #including systému záhlaví, označující, že verze systému Windows je rovna nebo větší než 5.0:
#define _WIN32_WINNT 0x0501
Pokud vaše aplikace není nutné spustit v operačním systému, který je starší než Windows 2000 nebo Windows 98, můžete připojit přímo k msimg32.lib bez použití /delayload.
CImage::Draw se chová odlišně při použití systému Windows 2000 a Windows 98, než u systému Windows NT 4.0 nebo Windows 95.
Pokud při kompilaci aplikace _WIN32_WINNT nastaven na hodnotu menší než než 0x0500, Nakreslit není práce, ale bude zpracovávat automaticky průhlednosti se systémy Windows 2000 a Windows 98 a novější.
Pokud je vaše aplikace s _WIN32_WINNT nastavena na hodnotu než 0x0500 nebo vyšší, Nakreslit zpracuje automaticky průhlednosti se systémy Windows 2000 nebo Windows 98 a novější.Také bude fungovat, ale bez podpory průhlednosti se systémem Windows NT 4.0 a Windows 95; je však nutné použít /delayload zpozdit načtení msimg32.LIB, jak je popsáno výše pro AlphaBlend a TransparentBlt.