<Return[G]><Top>

GetMetaFileBitsEx

Declare Function Api_GetMetaFileBitsEx& Lib "gdi32" Alias "GetMetaFileBitsEx" (ByVal hMF&, ByVal nSize&, lpvData As Any)

Declare Function GetMetaFileBitsEx Lib "gdi32" Alias "GetMetaFileBitsEx" (ByVal hMF As Long, ByVal nSize As Long, lpvData As Any) As Long

Windows 形式メタファイルの内容を取り出し、指定したバッファにコピーする。
注 この関数は 16 ビット版 Windows との互換性のために提供される。Win32 アプリケーションでは、GetEnhMetaFileBits 関数を使う。

hmf
    Windows 形式メタファイルのハンドルを指定する。
nSize
    データを受け取るバッファのサイズをバイト数で指定する。
lpvData
    メタファイルのデータを受け取るバッファへのポインタを指定する。このバッファは、データを格納できる十分な大きさを持っていなければならな

    い。lpvData に NULL を指定すると、データを格納するために必要なバイト数が返る。

戻り値
    関数が成功すると、lpvData に NULL を指定した場合はバッファに必要なバイト数が返る。lpvData に有効なポインタを指定した場合は、

    バッファにコピーされたバイト数が返る。
    関数が失敗すると、0 が返る。
    Windows NT/2000:拡張エラー情報を取得するには、GetLastError 関数を使う。

解説
    Windows 形式メタファイルのビットを取り出した後、取り出したビットを使って、SetMetaFileBitsEx 関数でメモリ上にメタファイルを作成でき

    る。

   GetMetaFileBitsEx 関数は、メタファイルのハンドルを無効にしない。不要になったハンドルは、DeleteMetaFile 関数を使って削除する。
    Windows 形式のメタファイルは、PolyBezier、BeginPath、SetWorldTransform など、曲線、パス、座標変換を扱う新しい関数をサポー

    トしていない。そのような関数を使ったり、そのような関数で作成されたピクチャをメタファイルによって格納するアプリケーションでは、拡張形

    式メタファイル関数を使う。
    Windows 形式のメタファイルを拡張形式のメタファイルに変換するには、SetWinMetaFileBits 関数を使う。