Compartir a través de


Función CreateEnhMetaFileA (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 CreateEnhMetaFileA(
  [in] HDC        hdc,
  [in] LPCSTR     lpFilename,
  [in] const RECT *lprc,
  [in] LPCSTR     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 almacenarán 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 del contexto del dispositivo para el metarchivo mejorado.

Si se produce un error en la función, el valor devuelto es NULL.

Observaciones

Donde los argumentos de texto deben usar caracteres Unicode, use el CreateEnhMetaFile función como una función de caracteres anchos. Donde los argumentos de texto deben usar caracteres del conjunto 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 para mostrar actual como referencia.

El izquierdo y los miembros principales de la estructura RECT de apuntado por el parámetro lpRect deben ser inferiores al derecho y miembros 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. Siempre que sea posible, se debe proporcionar el parámetro lpRect.

La cadena a la que apunta el parámetro lpDescription debe contener un carácter null 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, vea 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 neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de wingdi.h (incluya Windows.h)
biblioteca de Gdi32.lib
DLL de Gdi32.dll

Consulte también

CloseEnhMetaFile

DeleteEnhMetaFile

GetEnhMetaFileDescription

GetEnhMetaFileHeader

GetWinMetaFileBits

funciones de metarchivo de

introducción a los metarchivos de

playEnhMetaFile

RECT