Share via


CreateEnhMetaFileW-Funktion (wingdi.h)

Die CreateEnhMetaFile-Funktion erstellt einen Gerätekontext für eine Metadatei im erweiterten Format. Dieser Gerätekontext kann verwendet werden, um ein geräteunabhängiges Bild zu speichern.

Syntax

HDC CreateEnhMetaFileW(
  [in] HDC        hdc,
  [in] LPCWSTR    lpFilename,
  [in] const RECT *lprc,
  [in] LPCWSTR    lpDesc
);

Parameter

[in] hdc

Ein Handle für ein Referenzgerät für die erweiterte Metadatei. Dieser Parameter kann NULL sein. Weitere Informationen finden Sie unter Hinweise.

[in] lpFilename

Ein Zeiger auf den Dateinamen für die erweiterte Metadatei, die erstellt werden soll. Wenn dieser Parameter NULL ist, ist die erweiterte Metadatei speicherbasiert, und ihr Inhalt geht verloren, wenn sie mithilfe der DeleteEnhMetaFile-Funktion gelöscht wird.

[in] lprc

Ein Zeiger auf eine RECT-Struktur , der die Dimensionen (in 01-Millimeter-Einheiten) des Bilds angibt, das in der erweiterten Metadatei gespeichert werden soll.

[in] lpDesc

Ein Zeiger auf eine Zeichenfolge, die den Namen der Anwendung angibt, die das Bild erstellt hat, sowie den Titel des Bilds. Dieser Parameter kann NULL sein. Weitere Informationen finden Sie unter Hinweise.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Handle für den Gerätekontext für die erweiterte Metadatei.

Wenn bei der Funktion ein Fehler auftritt, ist der Rückgabewert NULL.

Hinweise

Wenn Textargumente Unicode-Zeichen verwenden müssen, verwenden Sie die Funktion CreateEnhMetaFile als Breitzeichenfunktion. Wenn Textargumente Zeichen aus dem Windows-Zeichensatz verwenden müssen, verwenden Sie diese Funktion als ANSI-Funktion.

Das System verwendet das durch den hdcRef-Parameter identifizierte Referenzgerät, um die Auflösung und einheiten des Geräts aufzuzeichnen, auf dem ursprünglich ein Bild angezeigt wurde. Wenn der hdcRef-ParameterNULL ist, wird das aktuelle Anzeigegerät als Referenz verwendet.

Die linken und oberen Member der RECT-Struktur , auf die vom lpRect-Parameter verwiesen wird, müssen kleiner als die rechten bzw . unteren Elemente sein. Punkte entlang der Kanten des Rechtecks sind im Bild enthalten. Wenn lpRectNULL ist, berechnet die Grafikgeräteschnittstelle (Graphics Device Interface, GDI) die Dimensionen des kleinsten Rechtecks, das das von der Anwendung gezeichnete Bild umgibt. Der lpRect-Parameter sollte nach Möglichkeit angegeben werden.

Die Zeichenfolge, auf die der lpDescription-Parameter verweist, muss ein NULL-Zeichen zwischen dem Anwendungsnamen und dem Bildnamen enthalten und muss mit zwei NULL-Zeichen enden, z. B. "XYZ Graphics Editor\0Bald Eagle\0\0", wobei \0 das NULL-Zeichen darstellt. Wenn lpDescriptionNULL ist, gibt es keinen entsprechenden Eintrag im header enhanced-metafile.

Anwendungen verwenden den von dieser Funktion erstellten Gerätekontext, um ein Grafikbild in einer erweiterten Metadatei zu speichern. Das Handle, das diesen Gerätekontext identifiziert, kann an jede GDI-Funktion übergeben werden.

Nachdem eine Anwendung ein Bild in einer erweiterten Metadatei gespeichert hat, kann sie das Bild auf jedem Ausgabegerät anzeigen, indem sie die PlayEnhMetaFile-Funktion aufruft. Beim Anzeigen des Bilds verwendet das System das Rechteck, auf das der parameter lpRect verweist, und die Auflösungsdaten des Referenzgeräts, um das Bild zu positionieren und zu skalieren.

Der von dieser Funktion zurückgegebene Gerätekontext enthält dieselben Standardattribute, die jedem neuen Gerätekontext zugeordnet sind.

Anwendungen müssen die GetWinMetaFileBits-Funktion verwenden, um eine erweiterte Metadatei in das ältere Windows-Metadateiformat zu konvertieren.

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

Beispiele

Ein Beispiel finden Sie unter Erstellen einer erweiterten Metadatei.

Hinweis

Der wingdi.h-Header definiert CreateEnhMetaFile als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wingdi.h (einschließlich Windows.h)
Bibliothek Gdi32.lib
DLL Gdi32.dll

Weitere Informationen

CloseEnhMetaFile

DeleteEnhMetaFile

GetEnhMetaFileDescription

GetEnhMetaFileHeader

GetWinMetaFileBits

Metadateifunktionen

Übersicht über Metadateien

PlayEnhMetaFile

RECT