Továbbfejlesztett metafájl létrehozása
Továbbfejlesztett metafájlt a CreateEnhMetaFile függvénnyel hozhat létre, és megadja a megfelelő argumentumokat. A rendszer ezeket az argumentumokat használja a képméretek fenntartásához, annak meghatározásához, hogy a metafájlt lemezen vagy memóriában kell-e tárolni, és így tovább.
A képméretek kimeneti eszközökön való fenntartásához CreateEnhMetaFile a referenciaeszköz felbontását igényli. Ez a referenciaeszköz az az eszköz, amelyen a kép először megjelent, a tartományvezérlő pedig a referenciaeszközhöz társított eszközkörnyezet. A CreateEnhMetaFile függvény meghívásakor meg kell adnia egy, a tartományvezérlőt azonosító leírót. Ezt a leírót a GetDC vagy CreateDC függvény meghívásával szerezheti be. Azt is megadhatja, NULL fogópontként használja a referenciaeszköz aktuális megjelenítő eszközét.
A legtöbb alkalmazás véglegesen tárolja a képeket, ezért egy lemezen tárolt továbbfejlesztett metafájlt hoz létre; vannak azonban olyan esetek, amikor ez nem szükséges. Egy diagramrajzolási képességeket biztosító szövegszerkesztő alkalmazás például egy felhasználó által definiált diagramot továbbfejlesztett metafájlként tárolhat a memóriában, majd átmásolhatja a továbbfejlesztett metafájl biteket a memóriából a felhasználó dokumentumfájljába. A lemezen véglegesen tárolt metafájlt igénylő alkalmazásoknak meg kell adniuk a fájlnevet, amikor meghívja CreateEnhMetaFile. Ha nem ad meg fájlnevet, a rendszer automatikusan ideiglenes fájlként kezeli a metafájlt, és a memóriában tárolja.
A képre és a szerzőre vonatkozó információkat tartalmazó metafájlhoz opcionális szöveges leírást is hozzáadhat. Az alkalmazások megjeleníthetik ezeket a sztringeket a Fájlmegnyitás párbeszédpanelen, hogy a felhasználónak olyan információkat biztosítson a metafájl tartalmáról, amelyek segítenek a megfelelő fájl kiválasztásában. Ha egy alkalmazás tartalmazza a szöveges leírást, akkor a CreateEnhMetaFilehívásakor meg kell adnia egy mutatót a sztringhez.
Ha CreateEnhMetaFile sikeres, egy speciális metafájl-eszközkörnyezetet azonosító leírót ad vissza. A metafájlok eszközkörnyezete abban egyedi, hogy nem kimeneti eszközhöz, hanem fájlhoz van társítva. Amikor a rendszer feldolgoz egy olyan GDI-függvényt, amely egy metafájl-eszközkörnyezetbe kapott leírót, a GDI-függvényt továbbfejlesztett metafájl rekordmá alakítja, és hozzáfűzi a rekordot a bővített metafájl végéhez.
Miután elkészült egy kép, és az utolsó rekord hozzá van fűzve a továbbfejlesztett metafájlhoz, az alkalmazás bezárhatja a fájlt a CloseEnhMetaFile függvény meghívásával. Ez a függvény bezárja és törli a speciális metafájl eszközkörnyezetét, és visszaad egy leírót, amely azonosítja a továbbfejlesztett metafájlt.
Továbbfejlesztett formátumú metafájl vagy továbbfejlesztett formátumú metafájl-leíró törléséhez hívja meg a DeleteEnhMetaFile függvényt.