Playing a Metafile into Another Metafile in Windows

ID: Q66950


The information in this article applies to:
  • Microsoft Windows Software Development Kit (SDK) versions 3.0, 3.1


SUMMARY

Unlike Windows versions 2.x, versions 3.0 and 3.1 of Microsoft Windows permit an application to play a metafile into another metafile. Under Windows 3.0, the destination metafile must be a disk-based metafile. This restriction has been removed from Windows 3.1.


MORE INFORMATION

Under Windows 3.0, playing a metafile into a new memory metafile fails. The following is a code fragment that demonstrates the correct procedure for successfully playing a metafile into a new, disk-based metafile that is compatible with both Windows 3.0 and 3.1.


/ declare variables
   HANDLE hDestDC, hSrcHmf;

// get a handle to the source metafile
   hSrcHmf = GetMetaFile((LPSTR)"SOURCE.WMF");

// create a disk-based destination metafile
// NOTE: The parameter cannot be NULL.
//       That would create a memory metafile.
   hDestDC = CreateMetaFile((LPSTR)"DEST.WMF");

// play the source metafile into the newly created metafile
   PlayMetaFile(hDestDC, hSrcHmf) ;

// get rid of the source metafile
   DeleteMetaFile(hSrcHmf) ;

// close the destination metafile
   hSrcHmf = CloseMetaFile(hDestDC) ; 
At this point, the handle to the destination metafile can be used, or it can be deleted and retrieved later when it is needed.

Additional query words: 3.00 3.10

Keywords :
Version : WINDOWS:3.0,3.1
Platform : WINDOWS
Issue type :


Last Reviewed: November 4, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.