CreateEnhMetaFileA-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 CreateEnhMetaFileA(
  [in] HDC        hdc,
  [in] LPCSTR     lpFilename,
  [in] const RECT *lprc,
  [in] LPCSTR     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 zu erstellende erweiterte Metadatei. 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 Abmessungen (in 0,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 die 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 der lpRect-Parameter verweist, müssen kleiner als die rechte bzw . die untere Member sein. Punkte entlang der Kanten des Rechtecks sind im Bild enthalten. Wenn lpRectNULL ist, berechnet die Grafikgeräteschnittstelle (GDI) die Abmessungen des kleinsten Rechtecks, das das von der Anwendung gezeichnete Bild umgibt. Der lpRect-Parameter sollte nach Möglichkeit bereitgestellt werden.

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

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 lpRect-Parameter 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 die gleichen 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 Code, der nicht Codierungsneutral ist, 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 (windows.h einschließen)
Bibliothek Gdi32.lib
DLL Gdi32.dll

Weitere Informationen

CloseEnhMetaFile

DeleteEnhMetaFile

GetEnhMetaFileDescription

GetEnhMetaFileHeader

GetWinMetaFileBits

Metafilefunktionen

Übersicht über Metadateien

PlayEnhMetaFile

RECT