Функция CreateEnhMetaFileA (wingdi.h)
Функция CreateEnhMetaFile создает контекст устройства для метафайла расширенного формата. Этот контекст устройства можно использовать для хранения независимого от устройства рисунка.
Синтаксис
HDC CreateEnhMetaFileA(
[in] HDC hdc,
[in] LPCSTR lpFilename,
[in] const RECT *lprc,
[in] LPCSTR lpDesc
);
Параметры
[in] hdc
Дескриптор эталонного устройства для расширенного метафайла. Этот параметр может быть null; Дополнительные сведения см. в разделе "Примечания".
[in] lpFilename
Указатель на имя файла для создаваемого расширенного метафайла. Если этот параметр null, расширенный метафайл основан на памяти и его содержимое теряется при удалении с помощью функции DeleteEnhMetaFile.
[in] lprc
Указатель на структуру RECT, указывающую измерения (в 01-миллиметровых единицах) изображения, хранящегося в расширенном метафайле.
[in] lpDesc
Указатель на строку, указывающую имя приложения, создавшего рисунок, а также название рисунка. Этот параметр может быть null; Дополнительные сведения см. в разделе "Примечания".
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение является дескриптором контекста устройства для расширенного метафайла.
Если функция завершается ошибкой, возвращаемое значение равно NULL.
Замечания
Где текстовые аргументы должны использовать символы Юникода, используйте функцию CreateEnhMetaFile в качестве функции с широкими символами. Если текстовые аргументы должны использовать символы из набора символов Windows, используйте эту функцию в качестве функции ANSI.
Система использует эталонное устройство, определенное параметром hdcRef hdcRef для записи разрешения и единиц устройства, на котором первоначально появилось изображение. Если параметр hdcRefNULL, он использует текущее устройство отображения для справки.
левой и верхних членов структуры RECT, на которую указывает параметр lpRect, должен быть меньше правых и нижних членов соответственно. Точки вдоль краев прямоугольника включаются в рисунок. Если lpRectnull, графический интерфейс устройства вычисляет размеры наименьшего прямоугольника, окружающего рисунок, нарисованный приложением. Параметр lpRect должен быть предоставлен по возможности.
Строка, на которую указывает параметр lpDescription, должен содержать пустой символ между именем приложения и именем рисунка и должен заканчиваться двумя пустыми символами, например "Редактор графики XYZ\0Bald Eagle\0\0", где \0 представляет пустой символ. Если lpDescription NULL, в заголовке расширенного метафайла отсутствует соответствующая запись.
Приложения используют контекст устройства, созданный этой функцией, для хранения рисунка в расширенном метафайле. Дескриптор, определяющий этот контекст устройства, можно передать любой функции GDI.
После хранения изображения в расширенном метафайлу приложение может отобразить изображение на любом выходном устройстве, вызвав функцию PlayEnhMetaFile. При отображении рисунка система использует прямоугольник, на который указывает параметр lpRect и данные разрешения с эталонного устройства для размещения и масштабирования рисунка.
Контекст устройства, возвращаемый этой функцией, содержит те же атрибуты по умолчанию, связанные с любым новым контекстом устройства.
Приложения должны использовать функцию GetWinMetaFileBits для преобразования расширенного метафайла в старый формат метафайла Windows.
Имя файла для расширенного метафайла должно использовать расширение .emf.
Примеры
Пример см. в статье Создание расширенного метафайла.
Заметка
Заголовок wingdi.h определяет CreateEnhMetaFile как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | wingdi.h (включая Windows.h) |
библиотеки |
Gdi32.lib |
DLL | Gdi32.dll |
См. также
функций метафайла
Обзор метафайлов