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 结构的指针,指定要存储在增强型图元文件中的图片) 以 0.01 毫米单位 (尺寸。

[in] lpDesc

指向字符串的指针,该字符串指定创建图片的应用程序的名称以及图片的标题。 此参数可以为 NULL;有关详细信息,请参阅备注。

返回值

如果函数成功,则返回值是增强型图元文件的设备上下文的句柄。

如果函数失败,则返回值为 NULL。

注解

如果文本参数必须使用 Unicode 字符,请使用 CreateEnhMetaFile 函数作为宽字符函数。 如果文本参数必须使用 Windows 字符集中的字符,请使用此函数作为 ANSI 函数。

系统使用 hdcRef 参数标识的参考设备来记录最初显示图片的设备分辨率和单位。 如果 hdcRef 参数为 NULL,则它使用当前显示设备进行引用。

lpRect 参数指向的 RECT 结构的成员和顶部成员必须分别小于成员和底部成员。 矩形边缘的点包含在图片中。 如果 lpRectNULL,则图形设备接口 (GDI) 计算围绕应用程序绘制的图片的最小矩形的尺寸。 应尽可能提供 lpRect 参数。

lpDescription 参数指向的字符串必须包含应用程序名称和图片名称之间的空字符,并且必须以两个空字符结尾,例如,“XYZ Graphics 编辑器\0Bald Eagle\0\0”,其中 \0 表示空字符。 如果 lpDescriptionNULL,则增强型图元文件标头中没有相应的条目。

应用程序使用此函数创建的设备上下文将图形图片存储在增强的图元文件中。 标识此设备上下文的句柄可以传递给任何 GDI 函数。

应用程序将图片存储在增强型图元文件中后,它可以通过调用 PlayEnhMetaFile 函数在任何输出设备上显示图片。 显示图片时,系统会使用 lpRect 参数指向的矩形以及参考设备的分辨率数据来定位和缩放图片。

此函数返回的设备上下文包含与任何新设备上下文关联的相同默认属性。

应用程序必须使用 GetWinMetaFileBits 函数将增强型图元文件转换为较旧的 Windows 图元文件格式。

增强型图元文件的文件名应使用 .emf 扩展名。

示例

有关示例,请参阅 创建增强型图元文件

注意

wingdi.h 标头将 CreateEnhMetaFile 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 wingdi.h (包括 Windows.h)
Library Gdi32.lib
DLL Gdi32.dll

另请参阅

CloseEnhMetaFile

DeleteEnhMetaFile

GetEnhMetaFileDescription

GetEnhMetaFileHeader

GetWinMetaFileBits

图元文件函数

图元文件概述

PlayEnhMetaFile

矩形