Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés:
A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.
Implementál egy Windows-metafájlt, amely a grafikus eszköz felületének (GDI) parancsait tartalmazza, amelyeket visszajátszhat a kívánt kép vagy szöveg létrehozásához.
Szemantika
class CMetaFileDC : public CDC
Tagok
Nyilvános konstruktorok
| Név | Description |
|---|---|
| CMetaFileDC::CMetaFileDC | Egy CMetaFileDC objektumot hoz létre. |
Nyilvános metódusok
| Név | Description |
|---|---|
| CMetaFileDC::Close | Bezárja az eszközkörnyezetet, és létrehoz egy metafájl-leírót. |
| CMetaFileDC::CloseEnhanced | Bezár egy továbbfejlesztett metafájl-eszközkörnyezetet, és létrehoz egy továbbfejlesztett metafájl-leírót. |
| CMetaFileDC::Létrehozás | Létrehozza a Windows metafájl eszközkörnyezetét, és csatolja az CMetaFileDC objektumhoz. |
| CMetaFileDC::CreateEnhanced | Létrehoz egy metafájl eszközkörnyezetét egy továbbfejlesztett formátumú metafájlhoz. |
Megjegyzések
Windows-metafájl implementálásához először hozzon létre egy objektumot CMetaFileDC . Hívja meg a CMetaFileDC konstruktort, majd hívja meg a Tag létrehozása függvényt, amely létrehoz egy Windows metafájl eszközkörnyezetet, és csatolja az CMetaFileDC objektumhoz.
Ezután küldje el az objektumnak CMetaFileDC az újrajátszásra szánt CDC GDI-parancsok sorozatát. Csak azok a GDI-parancsok használhatók, amelyek kimenetet hoznak létre, például MoveTo és LineTo.
Miután elküldte a kívánt parancsokat a metafájlnak, hívja meg a Close tagfüggvényt, amely bezárja a metafájl eszközkörnyezeteit, és visszaad egy metafájl-leírót. Ezután dobja el az CMetaFileDC objektumot.
CDC::P layMetaFile ezután használhatja a metafájl leíróját a metafájl ismételt lejátszásához. A metafájlt olyan Windows-függvények is módosíthatják, mint például a CopyMetaFile, amely egy metafájlt másol lemezre.
Ha a metafájlra már nincs szükség, törölje a memóriából a DeleteMetaFile Windows függvénnyel.
Az objektumot úgy is implementálhatja CMetaFileDC , hogy képes legyen kezelni a kimeneti hívásokat és az attribútumként szolgáló GDI-hívásokat, például GetTextExtent. Egy ilyen metafájl rugalmasabb, és könnyebben újra felhasználhatja az általános GDI-kódot, amely gyakran a kimeneti és attribútumhívások kombinációjából áll. Az CMetaFileDC osztály két eszközkörnyezetet örököl, m_hDC és m_hAttribDCa CDC-től. Az m_hDC eszközkörnyezet kezeli az összes CDC GDI-kimeneti hívást, az eszközkörnyezet pedig az m_hAttribDC összes CDC GDI-attribútumhívást. Ez a két eszközkörnyezet általában ugyanarra az eszközre vonatkozik. Ebben az esetben CMetaFileDCa DC attribútum alapértelmezés szerint NULL értékre van állítva.
Hozzon létre egy második eszközkörnyezetet, amely a képernyőre, a nyomtatóra vagy a metafájltól eltérő eszközre mutat, majd hívja meg a SetAttribDC tagfüggvényt az új eszközkörnyezet m_hAttribDCtársításához. A GDI tájékoztatási hívásai mostantól az újba m_hAttribDClesznek irányítva. A kimeneti GDI-hívások a m_hDCmetafájlt jelölik.
További információ: CMetaFileDCEszközkörnyezetek.
Öröklési hierarchia
CMetaFileDC
Requirements
Fejléc: afxext.h
CMetaFileDC::Close
Bezárja a metafájl eszközkörnyezetét, és létrehoz egy Windows metafájl-leírót, amely a CDC::P layMetaFile tagfüggvény használatával használható a metafájl lejátszásához.
HMETAFILE Close();
Visszaadott érték
Érvényes HMETAFILE, ha a függvény sikeres; ellenkező esetben NULL.
Megjegyzések
A Windows metafájl leírója a metafájl Windows-függvényekkel, például CopyMetaFile-nal való kezelésére is használható.
Törölje a metafájlt a használat után a Windows DeleteMetaFile függvény meghívásával.
CMetaFileDC::CloseEnhanced
Bezár egy továbbfejlesztett metafájlos eszközkörnyezetet, és visszaad egy leírót, amely egy továbbfejlesztett formátumú metafájlt azonosít.
HENHMETAFILE CloseEnhanced();
Visszaadott érték
Bővített metafájl leírója, ha sikeres; ellenkező esetben NULL.
Megjegyzések
Az alkalmazások a függvény által visszaadott továbbfejlesztett metafájl-leíróval hajthatják végre a következő feladatokat:
Továbbfejlesztett metafájlban tárolt kép megjelenítése
A továbbfejlesztett metafájl másolatainak létrehozása
Egyes rekordok számbavétele, szerkesztése vagy másolása a továbbfejlesztett metafájlban
A metafájl tartalmának opcionális leírásának lekérése a bővített metafájl fejlécéből
A továbbfejlesztett metafájl fejlécének másolatának lekérése
A bővített metafájl bináris másolatának lekérése
A választható palettán szereplő színek számbavétele
Továbbfejlesztett formátumú metafájl konvertálása Windows formátumú metafájllá
Ha az alkalmazásnak már nincs szüksége a továbbfejlesztett metafájl-leíróra, a Win32 DeleteEnhMetaFile függvény meghívásával szabadíthatja fel a leírót.
CMetaFileDC::CMetaFileDC
Hozzon létre egy objektumot CMetaFileDC két lépésben.
CMetaFileDC();
Megjegyzések
Először hívja meg CMetaFileDC, majd hívja Createmeg, amely létrehozza a Windows metafájl eszközkörnyezetét, és csatolja azt az CMetaFileDC objektumhoz.
CMetaFileDC::Létrehozás
Hozzon létre egy objektumot CMetaFileDC két lépésben.
BOOL Create(LPCTSTR lpszFilename = NULL);
Paraméterek
lpszFilename
Null értékű karaktersztringre mutat. Megadja a létrehozni kívánt metafájl fájlnevét. Ha az lpszFilename null értékű, a rendszer létrehoz egy új memórián belüli metafájlt.
Visszaadott érték
Nonzero, ha a függvény sikeres; egyéb esetben 0.
Megjegyzések
Először hívja meg a konstruktort CMetaFileDC, majd a hívást Create, amely létrehozza a Windows metafájl eszközkörnyezetét, és csatolja azt az CMetaFileDC objektumhoz.
CMetaFileDC::CreateEnhanced
Eszközkörnyezetet hoz létre egy továbbfejlesztett formátumú metafájlhoz.
BOOL CreateEnhanced(
CDC* pDCRef,
LPCTSTR lpszFileName,
LPCRECT lpBounds,
LPCTSTR lpszDescription);
Paraméterek
pDCRef
A bővített metafájl referenciaeszközét azonosítja.
lpszFileName
Null értékű karaktersztringre mutat. Megadja a létrehozandó továbbfejlesztett metafájl fájlnevét. Ha ez a paraméter NULL értékű, a bővített metafájl memóriaalapú, és tartalma elveszik az objektum megsemmisítésekor vagy a Win32 DeleteEnhMetaFile függvény meghívásakor.
lpBounds
EGY RECT-adatstruktúrára vagy egy CRect-objektumra mutat, amely a továbbfejlesztett metafájlban tárolandó kép HIMETRIC egységeiben (.01 milliméteres növekményekben) adja meg a dimenziókat.
lpszDescription
Egy nulla végződésű sztringre mutat, amely megadja a képet létrehozó alkalmazás nevét, valamint a kép címét.
Visszaadott érték
A bővített metafájl eszközkörnyezetének leírója, ha sikeres; ellenkező esetben NULL.
Megjegyzések
Ez a tartományvezérlő eszközfüggetlen képek tárolására használható.
A Windows a pDCRef paraméter által azonosított referenciaeszközt használja annak az eszköznek a felbontásának és egységeinek rögzítéséhez, amelyen a kép eredetileg megjelent. Ha a pDCRef paraméter NULL értékű, az aktuális megjelenítési eszközt használja referenciaként.
Az lpBounds paraméter által mutatott adatstruktúra bal és felső tagjainak RECT kisebbnek kell lenniük, mint a jobb és alsó tagok. A téglalap szélei mentén lévő pontok szerepelnek a képen. Ha az lpBounds NULL értékű, a grafikus eszköz felülete (GDI) kiszámítja a legkisebb téglalap méretét, amely az alkalmazás által rajzolt képet is magában foglalhatja. Az lpBounds paramétert lehetőség szerint meg kell adni.
Az lpszDescription paraméter által mutatott sztringnek null karaktert kell tartalmaznia az alkalmazás neve és a kép neve között, és két null karakterrel kell végződnie ( például "XYZ Graphics Editor\0Bald Eagle\0\0", ahol a \0 a null karaktert jelöli. Ha az lpszDescription értéke NULL, a bővített metafájl fejlécében nincs megfelelő bejegyzés.
Az alkalmazások a függvény által létrehozott tartományvezérlőt használják a grafikus képek továbbfejlesztett metafájlban való tárolására. A tartományvezérlőt azonosító leíró bármely GDI-függvénynek átadható.
Miután egy alkalmazás egy továbbfejlesztett metafájlban tárol egy képet, a függvény meghívásával bármilyen kimeneti eszközön megjelenítheti a CDC::PlayMetaFile képet. A kép megjelenítésekor a Windows az lpBounds paraméter által mutatott téglalapot és a referenciaeszköz felbontási adatait használja a kép elhelyezéséhez és méretezéséhez. A függvény által visszaadott eszközkörnyezet ugyanazokat az alapértelmezett attribútumokat tartalmazza, amelyek minden új tartományvezérlőhöz vannak társítva.
Az alkalmazásoknak a Win32 GetWinMetaFileBits függvénnyel kell átalakítaniük a továbbfejlesztett metafájlokat a régebbi Windows metafájl formátumba.
A bővített metafájl fájlnevének a következőt kell használnia: . EMF-bővítmény.