Udostępnij za pośrednictwem


Ograniczenia CImage z wcześniejszych systemów operacyjnych

Wiele CImage funkcje działają tylko z nowszymi wersjami systemu Windows: Windows 95 i 98 lub Windows NT 4.0 lub Windows 2000.W tym artykule opisano ograniczenia wersji niektórych metod.

CImage::PlgBlt i CImage::MaskBlt pracy tylko system Windows NT 4.0 lub nowszej.Nie będą one działać na aplikacje uruchomione w systemie Windows 95 i 98 lub nowszym.

CImage::AlphaBlend i CImage::TransparentBlt współpracują tylko systemu Windows 2000 lub nowszego i Windows 98 lub nowszy, ponieważ należy połączyć z msimg32.lib tych metod.(Ta biblioteka jest dostępna tylko dla aplikacji z systemem Windows 2000 lub nowszego i Windows 98 lub nowszym.)

Można uwzględnić AlphaBlend i TransparentBlt w aplikacji, która działa w systemie Windows 95 lub Windows NT 4.0, tylko w przypadku, gdy te metody nigdy wywoływany.Jeśli aplikacja zawiera tych metod należy uruchomić w starszych systemach operacyjnych, należy użyć łączącego łączącego/DelayLoad opóźnienie ładowania msimg32.lib.Jak aplikacja nie wywołania jednej z tych metod uruchomionej w systemie Windows NT 4.0 lub Windows 95, nie będą próbować załadować msimg32.lib.Sprawdź, czy obsługi przezroczystości jest dostępne za pomocą CImage::IsTransparencySupported metody.

Przykład

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

Aby skompilować aplikację, która wywołuje te metody, Wstaw # zdefiniować wyrażenie _WIN32_WINNT przed #, włączając wszelkie nagłówki systemu, wskazująca, że wersja systemu Windows jest równa lub większa niż 5.0:

#define _WIN32_WINNT 0x0501

Jeśli aplikacja nie trzeba uruchamiać w systemie operacyjnym, starszych niż Windows 2000 lub Windows 98, można połączyć bezpośrednio msimg32.lib bez korzystania z łączącego/DelayLoad.

CImage::Draw zachowuje się inaczej, gdy używana z systemu Windows 2000 i Windows 98, niż w systemie Windows NT 4.0 lub Windows 95.

Jeśli kompilacja aplikacji z _WIN32_WINNT ustawioną na wartość mniejszą niż 0x0500, Rysuj będzie pracy, ale nie obsługuje przezroczystość automatycznie w systemach z systemem Windows 2000 i Windows 98 lub nowszym.

Jeśli skompilować użytkownika aplikacji z _WIN32_WINNT ustawiona na 0x0500 lub większą, Rysuj obsługuje przezroczystość automatycznie w systemach z systemem Windows 2000 lub Windows 98 lub nowszym.Będzie również działać, ale bez wsparcia przezroczystości z systemu Windows NT 4.0 i Windows 95; Jednakże, należy użyć łączącego/DelayLoad do ładowania msimg32 opóźnienia.LIB, jak opisano powyżej dla AlphaBlend i TransparentBlt.

Zobacz też

Informacje

Klasa CImage