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, // pointer to metafile data
HDC hdcRef, // handle to reference device context
CONST METAFILEPICT *lpmfp // suggested size of metafile picture
);
If the function succeeds, the return value is a handle to a memory-based enhanced metafile.
If the function fails, the return value is NULL.
Windows NT: To get extended error information, call GetLastError.
The WIN32 API 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, the system uses resolution data for the current output device. If the lpmfp parameter is NULL, the system 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 DeleteEnhMetaFile 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.
Windows NT: Requires version 3.1 or later.
Windows: Requires Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in wingdi.h.
Import Library: Use gdi32.lib.
Metafiles Overview, Metafile Functions, DeleteEnhMetaFile, GetWinMetaFileBits, GetMetaFileBitsEx, METAFILEPICT, PlayEnhMetaFile