CDC::PlayMetaFile
更新 : 2007 年 11 月
デバイス コンテキストに、指定されたメタファイルの内容を再描画します。
BOOL PlayMetaFile(
HMETAFILE hMF
);
BOOL PlayMetaFile(
HENHMETAFILE hEnhMetaFile,
LPCRECT lpBounds
);
パラメータ
hMF
再描画されるメタファイルを識別します。hEnhMetaFile
拡張メタファイルを識別します。lpBounds
画像の表示に使う外接する四角形の座標を持つ RECT 構造体または CRect オブジェクトへのポインタ。座標は論理単位で指定します。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
メタファイルは何回でも再描画できます。
PlayMetaFile の 2 番目の形式は、指定された拡張フォーマットのメタファイルに格納された画像を表示します。アプリケーションが 2 番目の形式の PlayMetaFile を呼び出すと、Windows は拡張メタファイル ヘッダーのピクチャ フレームを使用し、パラメータ lpBounds で指定された四角形の上に画像を割り当てます。PlayMetaFile を呼び出す前に、出力デバイスのワールド変換の設定により画像を傾斜、回転させることができます。四角形の辺上にある点は、画像に含まれます。拡張メタファイルを再描画する前に、出力デバイスにクリップ領域を定義することにより、拡張メタファイル画像をクリップできます。
拡張メタファイルがオプションのパレットを持っている場合、2 番目の形式の PlayMetaFile を呼び出す前に出力デバイスのカラー パレットを設定することで色の矛盾がなくなります。オプションのカラー パレットを取得するには、GetEnhMetaFilePaletteEntries Windows 関数を使います。2 番目の形式の PlayMetaFile を呼び出し、新しい拡張メタファイルのデバイス コンテキストに元の拡張メタファイルを再描画することにより、拡張メタファイルを新しく作成する拡張メタファイルに埋め込むことができます。
出力デバイス コンテキストの状態は、この関数により保存されます。拡張メタファイルで作成し、削除されなかった任意のオブジェクトは、この関数で削除されます。この関数を停止するには、アプリケーションは別のスレッドから CancelDC Windows 関数を呼び出し、操作を終了します。この場合、関数は 0 を返します。
必要条件
ヘッダー : afxwin.h