次の方法で共有


以前のオペレーティング システムにおける CImage の制限

CImage の多くの関数はウィンドウの新しいバージョンでのみ使用します: /98 Windows 95 または Windows NT 4.0、または Windows 2000。この技術情報では、特定のメソッドのバージョン制限事項について説明します。

CImage::PlgBltCImage::MaskBlt は、 Windows NT のみ 4.0 以降を使用します。これらは /98 Windows 95 以降で動作するアプリケーションでは実行されません。

これらのメソッドを使用するに msimg32.lib とリンクする必要があるためCImage::AlphaBlendCImage::TransparentBlt は Windows 2000 以降と Windows 98 以降のみ使用します。(このライブラリは、 Windows 2000 以降と Windows 98 以降で実行するアプリケーションでのみ使用できます)。

これらのメソッドが呼び出されない場合にのみ Windows 95 または Windows NT 4.0 で実行するアプリケーションに AlphaBlendTransparentBlt を含めることができます。アプリケーションでこれらのメソッドを含む、以前のオペレーティング システムで実行する必要がある場合 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 での透過性サポートなしで、動作します; ただし、 AlphaBlendTransparentBltの msimg32.LIB の読み込みを遅延させるために /delayload を使用します。

参照

関連項目

CImage クラス