Freigeben über


CMetaFileDC::CreateEnhanced

Erstellt einen Gerätekontext für eine ErhöhenFormat Metadatei.

BOOL CreateEnhanced( 
   CDC* pDCRef, 
   LPCTSTR lpszFileName, 
   LPCRECT lpBounds, 
   LPCTSTR lpszDescription  
);

Parameter

  • pDCRef
    Identifiziert ein Bezugsgerät für die erweiterte Metadatei.

  • lpszFileName
    zeigt auf eine auf NULL endende Zeichenfolge. Gibt den Dateinamen an, damit die erweiterte Metadatei erstellt werden kann. Wenn dieser Parameter NULL ist, ist die erweiterte Metadatei speicherbasiert und sein Inhalt verlor, wenn das Objekt zerstört wird, oder wenn die Win32 DeleteEnhMetaFile aufgerufen wird.

  • lpBounds
    zeigt auf eine RECT Datenstruktur oder einem CRect-Objekt, das die Dimensionen in HIMETRIC Einheiten (im .01 -Millimeter-Inkrementen) des angibt in der erweiterten Metadatei gespeichert werden, Bildes.

  • lpszDescription
    Zeigt auf eine mit 0 (null) endende Zeichenfolge, die den Namen der Anwendung, die das Bild erstellte sowie des Namens des Bilds angibt.

Rückgabewert

Ein Handle des Gerätekontexts für die erweiterte Metadatei, wenn erfolgreich; andernfalls NULL.

Hinweise

Dieses DC kann verwendet werden, um ein geräteunabhängiges Bild zu speichern.

Windows verwendet das Bezugsgerät, das durch den pDCRef-Parameter identifiziert wird, um die Auflösung und Einheiten des Geräts aufzuzeichnen, auf dem ein Bild ursprünglich angezeigt. Wenn der pDCRef-Parameter NULL ist, wird das aktuelle Anzeigegerät als Verweis.

Die linke und die obere Member der RECT Datenstruktur, die von dem lpBounds-Parameter angezeigt wird, müssen als die Recht- und Unterseitenmember kleiner sein, bzw. Punkte an den Rändern des Rechtecks werden im Bild enthalten. Wenn lpBoundsNULL ist, berechnet das GDI (Graphics Device Interface) die Abmessungen des Rechtecks kleinsten, das das Bild einschließen kann, das von der Anwendung gezeichnet wird. Der lpBounds-Parameter sollte nach Möglichkeit angegeben werden.

Die Zeichenfolge, die an den lpszDescription-Parameter angezeigt wird, muss ein NULL-Zeichen zwischen dem Anwendungsnamen und dem Bildnamen enthalten und muss mit zwei NULL-Zeichen für - Beispiel beendet werden, "XYZ Graphics Editor\0Bald Eagle\0\0," wobei \0 das NULL-Zeichen darstellt. Wenn lpszDescriptionNULL ist, gibt es keine entsprechende Buchung im Header der erweiterten Metadatei.

Anwendungen verwenden die Domänencontroller, das von dieser Funktion erstellt wird, um ein Grafikbild in einer erweiterten Metadatei zu speichern. Das Handle, das dieses DC identifiziert, kann einer beliebigen GDI-Funktion übergeben werden.

Nachdem eine Anwendung ein Bild in einer erweiterten Metadatei speichert, kann sie das Bild auf jedem Ausgabegerät anzeigen, indem Sie die CDC::PlayMetaFile-Funktion aufrufen. Wenn es das Bild anzeigt, Windows verwendet das Rechteck, das an den lpBounds-Parameter und zu den Auflösungsdaten vom Bezugsgerät gezeigt wird, um das Bild zu positionieren und seine Größe anzupassen. Der Gerätekontext, der von dieser Funktion zurückgegeben wird, enthält die gleichen Standardattribute, die jedem neuen DC zugeordnet werden.

Anwendungen müssen die Win32 GetWinMetaFileBits verwenden, um eine erweiterte Metadatei zu den älteren Windows-Metadateiformat zu konvertieren.

Der Dateiname für die erweiterte Metadatei sollte die .EMF-Erweiterung verwenden.

Anforderungen

Header: afxext.h

Siehe auch

Referenz

CMetaFileDC-Klasse

Hierarchiediagramm

CMetaFileDC::CloseEnhanced

CDC::PlayMetaFile

CloseEnhMetaFile

DeleteEnhMetaFile

GetEnhMetaFileDescription

GetEnhMetaFileHeader

GetWinMetaFileBits

PlayEnhMetaFile