SetWinMetaFileBits  W26LE 

The SetWinMetaFileBits function converts a metafile from the older Windows format to the new enhanced format and stores the new metafile in memory.

HENHMETAFILE SetWinMetaFileBits(

    UINT cbBuffer,

// size of buffer

    CONST BYTE *lpbBuffer,

// address of buffered metafile data

    HDC hdcRef,

// handle of reference device context

    CONST METAFILEPICT *lpmfp

// suggested size of metafile picture

   );

 

 

Parameters

cbBuffer

Specifies the size, in bytes, of the buffer that contains the Windows-format metafile.

lpbBuffer

Points to a buffer that contains the Windows-format metafile data. (It is assumed that the data was obtained by using the GetMetaFileBitsExO9UG_0 or GetWinMetaFileBitsLDP6IK function.)

hdcRef

Identifies a reference device context.

lpmfp

Points to a METAFILEPICTIZ3IXW structure that contains the suggested size of the metafile picture and the mapping mode that was used when the picture was created.

 

Return Values

If the function succeeds, the return value is a handle of a memory-based enhanced metafile.

If the function fails, the return value is NULL. To get extended error information, call GetLastError11C2VS7.

Remarks

Windows uses the reference device context s resolution data and the data in the METAFILEPICT structure to scale a picture. If the hdcRef parameter is NULL, Windows uses resolution data for the current output device. If the lpmfp parameter is NULL, Windows uses the MM_ANISOTROPIC mapping mode to scale the picture so that it fits the entire device surface. The hMF field in the METAFILEPICT structure is not used.

When the application no longer needs the enhanced metafile handle, it should delete it by calling the DeleteEnhMetaFile4TUKYA function.

The handle returned by this function can be used with other enhanced-metafile functions.

If the reference device context is not identical to the device in which the metafile was originally created, some GDI functions that use device units may not draw the picture correctly.

See Also

DeleteEnhMetaFile, GetWinMetaFileBits, GetMetaFileBitsEx, METAFILEPICT, PlayEnhMetaFile