以前のオペレーティング システムにおける CImage の制限
CImage の多くの関数はウィンドウの新しいバージョンでのみ使用します: /98 Windows 95 または Windows NT 4.0、または Windows 2000。この技術情報では、特定のメソッドのバージョン制限事項について説明します。
CImage::PlgBlt と CImage::MaskBlt は、 Windows NT のみ 4.0 以降を使用します。これらは /98 Windows 95 以降で動作するアプリケーションでは実行されません。
これらのメソッドを使用するに msimg32.lib とリンクする必要があるためCImage::AlphaBlend と CImage::TransparentBlt は Windows 2000 以降と Windows 98 以降のみ使用します。(このライブラリは、 Windows 2000 以降と Windows 98 以降で実行するアプリケーションでのみ使用できます)。
これらのメソッドが呼び出されない場合にのみ Windows 95 または Windows NT 4.0 で実行するアプリケーションに AlphaBlend と TransparentBlt を含めることができます。アプリケーションでこれらのメソッドを含む、以前のオペレーティング システムで実行する必要がある場合 msimg32.lib の遅延読み込みを実行するには、リンカーの /delayload を使用します。Windows NT 4.0 または Windows 95 アプリケーションはこれらのメソッドのうち 1 つがをダイヤルしない限り、の下で実行中 msimg32.lib を読み込むことはありません。チェックできます。透過性サポートが使用できるかどうか CImage::IsTransparencySupported のメソッドを使用します。
使用例
if (CImage::IsTransparencySupported())
{
// Safe to call CImage::AlphaBlend and CImage::TransparentBlt
}
else
{
// Transparency not supported. Fall back to something else.
}
これらのメソッドをダイヤルするアプリケーションをコンパイルするには、ウィンドウのバージョンと同じかまたは 5.0 を超えるであることを示すシステム ヘッダーを #including 前に #define _WIN32_WINNT ステートメントを挿入します:
#define _WIN32_WINNT 0x0501
アプリケーションが Windows 2000 または Windows 98 より古いオペレーティング システムで実行する必要がない場合は msimg32.lib に /delayloadを使用せずに直接リンクできます。
CImage::Draw は Windows NT 4.0 または Windows 95 とする、 Windows 2000、および Windows 98 で使用されたときに変更されます。
値に設定されている _WIN32_WINNT のアプリケーションを 0x0500 未満コンパイルする場合は、 描画 は機能しますが、 Windows 2000、および Windows 98 を実行するシステムに透過性を、後で自動的に処理しません。
0x0500 に設定されている場合、またはより大きい _WIN32_WINNT のアプリケーションをコンパイルする場合 描画 は、 Windows 2000 または Windows 98 を実行するシステムに透過性を、後で自動的に処理します。また、 Windows NT 4.0 および Windows 95 での透過性サポートなしで、動作します; ただし、 AlphaBlend と TransparentBltの msimg32.LIB の読み込みを遅延させるために /delayload を使用します。