次の方法で共有


CMetaFileDC クラス

イメージやテキストを自由に作成するための一連のグラフィック デバイス インターフェイス (GDI) コマンドを含む Windows のメタファイルを実装します。

class CMetaFileDC : public CDC

解説

Windows のメタファイルを実装するには、まず CMetaFileDC オブジェクトを構築します。 CMetaFileDC コンストラクターを起動し、その後 Create メンバー関数を呼び出し、Windows メタファイル デバイス コンテキストを作成し、それを CMetaFileDC オブジェクトに結び付けます。

次に繰り返し実行しようとする CDC GDI コマンドを CMetaFileDC オブジェクトに送信します。 MoveToLineTo のような出力に関する GDI コマンドだけが使用可能です。

メタファイルに希望するコマンドを送った後は、Close メンバー関数を呼び出して、メタファイル デバイス コンテキストを閉じ、メタファイル ハンドルを返します。 その後、CMetaFileDC オブジェクトを破棄します。

これで CDC::PlayMetaFile 関数はメタファイル ハンドルを使って、メタファイルを繰り返し再生できるようになります。 また、メタファイルをディスクにコピーする CopyMetaFile などの Windows 関数を使ってメタファイルを操作することも可能です。

不要になったメタファイルは Windows 関数の DeleteMetaFile を使ってメモリから削除します。

出力に関する呼び出し以外に、GetTextExtent 関数のような GDI 属性に関する呼び出しを操作する CMetaFileDC オブジェクトを実装することもできます。 このようなメタファイルは融通性があり、一般的な GDI コードを容易に再利用できます。一般的な GDI コードでは、通常出力と、属性に関する呼び出しが混在します。 CMetaFileDC クラスは、CDC クラスから m_hDCm_hAttribDC の 2 つのデバイス コンテキストを継承します。 m_hDC デバイス コンテキストは、CDC GDI 出力に関する呼び出しのすべてを処理します。m_hAttribDC デバイス コンテキストは、CDC GDI の属性に関する呼び出しのすべてを処理します。 通常、2 つのデバイス コンテキストは同一のデバイスに割り当てられます。 通常、CMetaFileDC では、属性に関する DC は既定で NULL に設定されます。

次に画面、プリンター、またはメタファイル以外のデバイスを指すデバイス コンテキストを作成します。その後 SetAttribDC メンバー関数を呼び出して、今作成したデバイス コンテキストを m_hAttribDC に結び付けます。 情報に関する GDI 呼び出しはこの新しい m_hAttribDC に送られます。 出力に関する GDI 呼び出しは、メタファイルを表す m_hDC に送られます。

CMetaFileDC の詳細については、「デバイス コンテキスト」を参照してください。

必要条件

**ヘッダー:**afxext.h

参照

参照

CDC クラス

階層図

その他の技術情報

CMetaFileDC のメンバー