CreateEnhMetaFileW 関数 (wingdi.h)

CreateEnhMetaFile 関数は、拡張形式メタファイルのデバイス コンテキストを作成します。 このデバイス コンテキストは、デバイスに依存しない画像を格納するために使用できます。

構文

HDC CreateEnhMetaFileW(
  [in] HDC        hdc,
  [in] LPCWSTR    lpFilename,
  [in] const RECT *lprc,
  [in] LPCWSTR    lpDesc
);

パラメーター

[in] hdc

拡張メタファイルの参照デバイスへのハンドル。 このパラメーターには NULL を指定できます。詳細については、「備考」を参照してください。

[in] lpFilename

作成する拡張メタファイルのファイル名へのポインター。 このパラメーターが NULL の場合、拡張メタファイルはメモリ ベースであり、 DeleteEnhMetaFile 関数を使用して削除すると、その内容は失われます。

[in] lprc

拡張メタファイルに格納する画像の寸法 (.01 ミリメートル単位) を指定する RECT 構造体へのポインター。

[in] lpDesc

図を作成したアプリケーションの名前と画像のタイトルを指定する文字列へのポインター。 このパラメーターには NULL を指定できます。詳細については、「備考」を参照してください。

戻り値

関数が成功した場合、戻り値は拡張メタファイルのデバイス コンテキストへのハンドルです。

関数が失敗した場合は、返される値は NULL です。

注釈

テキスト引数で Unicode 文字を使用する必要がある場合は、ワイド文字関数として CreateEnhMetaFile 関数を使用します。 テキスト引数で Windows 文字セットの文字を使用する必要がある場合は、この関数を ANSI 関数として使用します。

システムは、hdcRef パラメーターで識別された参照デバイスを使用して、画像が最初に表示されたデバイスの解像度と単位を記録します。 hdcRef パラメーターが NULL の場合、現在のディスプレイ デバイスを参照に使用します。

lpRect パラメーターが指す RECT 構造体の left メンバーと top メンバーは、それぞれのメンバーより小さくする必要があります。 四角形の端に沿ったポイントが図に含まれます。 lpRectNULL の場合、グラフィックス デバイス インターフェイス (GDI) は、アプリケーションによって描画された図を囲む最小四角形の寸法を計算します。 lpRect パラメーターは可能な限り指定する必要があります。

lpDescription パラメーターが指す文字列には、アプリケーション名と図名の間に null 文字を含める必要があり、2 つの null 文字 ("XYZ Graphics エディター\0Bald Eagle\0\0" など) で終了する必要があります。ここで、\0 は null 文字を表します。 lpDescriptionNULL の場合、enhanced-metafile ヘッダーに対応するエントリはありません。

アプリケーションでは、この関数によって作成されたデバイス コンテキストを使用して、拡張メタファイルにグラフィックス画像を格納します。 このデバイス コンテキストを識別するハンドルは、任意の GDI 関数に渡すことができます。

アプリケーションは、拡張メタファイルに画像を格納した後、 PlayEnhMetaFile 関数を呼び出すことによって、任意の出力デバイスに画像を表示できます。 図を表示する場合、システムは lpRect パラメーターによって指される四角形と、参照デバイスからの解像度データを使用して、図の位置と拡大縮小を行います。

この関数によって返されるデバイス コンテキストには、新しいデバイス コンテキストに関連付けられている同じ既定の属性が含まれています。

拡張メタファイルを古い Windows メタファイル形式に変換するには、アプリケーションで GetWinMetaFileBits 関数を使用する必要があります。

拡張メタファイルのファイル名には、.emf拡張子を使用する必要があります。

例については、「 拡張メタファイルの作成」を参照してください。

注意

wingdi.h ヘッダーは、CreateEnhMetaFile をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wingdi.h (Windows.h を含む)
Library Gdi32.lib
[DLL] Gdi32.dll

こちらもご覧ください

CloseEnhMetaFile

DeleteEnhMetaFile

GetEnhMetaFileDescription

GetEnhMetaFileHeader

GetWinMetaFileBits

メタファイル関数

メタファイルの概要

PlayEnhMetaFile

Rect