Función CreateEnhMetaFileW (wingdi.h)

La función CreateEnhMetaFile crea un contexto de dispositivo para un metarchivo de formato mejorado. Este contexto de dispositivo se puede usar para almacenar una imagen independiente del dispositivo.

Sintaxis

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

Parámetros

[in] hdc

Identificador de un dispositivo de referencia para el metarchivo mejorado. Este parámetro puede ser NULL; para obtener más información, vea Comentarios.

[in] lpFilename

Puntero al nombre de archivo del metarchivo mejorado que se va a crear. Si este parámetro es NULL, el metarchivo mejorado se basa en la memoria y su contenido se pierde cuando se elimina mediante la función DeleteEnhMetaFile .

[in] lprc

Puntero a una estructura RECT que especifica las dimensiones (en unidades .01 milímetros) de la imagen que se van a almacenar en el metarchivo mejorado.

[in] lpDesc

Puntero a una cadena que especifica el nombre de la aplicación que creó la imagen, así como el título de la imagen. Este parámetro puede ser NULL; para obtener más información, vea Comentarios.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es un identificador para el contexto del dispositivo para el metarchivo mejorado.

Si la función no se realiza correctamente, el valor devuelto es NULL.

Comentarios

Donde los argumentos de texto deben usar caracteres Unicode, use la función CreateEnhMetaFile como una función de caracteres anchos. Donde los argumentos de texto deben usar caracteres del juego de caracteres de Windows, use esta función como una función ANSI.

El sistema usa el dispositivo de referencia identificado por el parámetro hdcRef para registrar la resolución y las unidades del dispositivo en el que apareció originalmente una imagen. Si el parámetro hdcRef es NULL, usa el dispositivo de visualización actual como referencia.

Los miembros izquierdo y superior de la estructura RECT a los que apunta el parámetro lpRect deben ser menores que los miembros derecho e inferior , respectivamente. Los puntos a lo largo de los bordes del rectángulo se incluyen en la imagen. Si lpRect es NULL, la interfaz de dispositivo gráfico (GDI) calcula las dimensiones del rectángulo más pequeño que rodea la imagen dibujada por la aplicación. El parámetro lpRect debe proporcionarse siempre que sea posible.

La cadena a la que apunta el parámetro lpDescription debe contener un carácter NULO entre el nombre de la aplicación y el nombre de imagen y debe terminar con dos caracteres NULL, por ejemplo, "XYZ Graphics Editor\0Bald Eagle\0\0", donde \0 representa el carácter null. Si lpDescription es NULL, no hay ninguna entrada correspondiente en el encabezado de metarchivo mejorado.

Las aplicaciones usan el contexto del dispositivo creado por esta función para almacenar una imagen gráfica en un metarchivo mejorado. El identificador que identifica este contexto de dispositivo se puede pasar a cualquier función GDI.

Después de que una aplicación almacene una imagen en un metarchivo mejorado, puede mostrar la imagen en cualquier dispositivo de salida llamando a la función PlayEnhMetaFile . Al mostrar la imagen, el sistema usa el rectángulo al que apunta el parámetro lpRect y los datos de resolución del dispositivo de referencia para colocar y escalar la imagen.

El contexto del dispositivo devuelto por esta función contiene los mismos atributos predeterminados asociados a cualquier contexto de dispositivo nuevo.

Las aplicaciones deben usar la función GetWinMetaFileBits para convertir un metarchivo mejorado al formato de metarchivo de Windows anterior.

El nombre de archivo del metarchivo mejorado debe usar la extensión .emf.

Ejemplos

Para obtener un ejemplo, consulte Creación de un metarchivo mejorado.

Nota

El encabezado wingdi.h define CreateEnhMetaFile como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wingdi.h (incluye Windows.h)
Library Gdi32.lib
Archivo DLL Gdi32.dll

Consulte también

CloseEnhMetaFile

DeleteEnhMetaFile

GetEnhMetaFileDescription

GetEnhMetaFileHeader

GetWinMetaFileBits

Funciones de metarchivo

Introducción a los metarchivos

PlayEnhMetaFile

RECT