CreateEnhMetaFile功能为增强格式的图元文件创建一个设备上下文。该设备上下文可用于存储与设备无关的图片。
HDC CreateEnhMetaFile(
HDC 【hdcRef】, | //处理参考设备上下文 |
LPCTSTR 【lpFileName的对象】, | //指向文件名字符串的指针 |
CONST RECT *【LPRECT】, | //指向一个边界矩形的指针 |
LPCTSTR 【lpDescription】 | //指向可选描述字符串的指针 |
); |
参数
【hdcRef】
标识增强型图元文件的参考设备。
【lpFileName的对象】
指向要创建的增强型图元文件的文件名。如果此参数为NULL,则增强型图元文件是基于内存的,并且使用DeleteEnhMetaFile功能删除时,内容将丢失。
【LPRECT】
指向RECT结构,指定要存储在增强型图元文件中的图片的尺寸(以.01毫米为单位)。
【lpDescription】
指向一个字符串,指定创建图片的应用程序的名称,以及图片的标题。
返回值
如果函数成功,则返回值是增强图元文件的设备上下文的句柄。
如果函数失败,返回值为NULL。
备注
在文本参数必须使用Unicode字符的地方,使用CreateEnhMetaFile功能作为宽字符功能。在文本参数必须使用Windows 3.【x】字符集中的字符的情况下,将此函数用作ANSI函数。
Windows使用由【hdcRef】参数标识的参考设备来记录最初出现图片的设备的分辨率和单位。如果【hdcRef】参数为NULL,则使用当前的显示设备进行参考。
RECT参数指向的RECT结构的剩下和最佳成员必须分别小于对和底部成员。沿着矩形边缘的点包括在图片中。如果【LPRECT】为NULL,则图形设备接口(GDI)计算由应用程序绘制的图片围绕的最小矩形的尺寸。应尽可能提供【LPRECT】参数。
【lpDescription】参数指向的字符串必须在应用程序名称和图片名称之间包含一个空字符,并且必须以两个空字符__终止,例如“XYZ Graphics Editor \\ 0Bald Eagle \\ 0 \\ 0”,其中\\ 0表示空字符。如果【lpDescription】为NULL,则增强型图元文件头中没有相应的条目。
应用程序使用此函数创建的设备上下文将图形图像存储在增强型图元文件中。识别此设备上下文的句柄可以传递给任何GDI函数。
应用程序将图片存储在增强型图元文件中后,可以通过调用PlayEnhMetaFile功能在任何输出设备上显示图像。当显示图片时,Windows使用【LPRECT】参数指向的矩形和参考设备的分辨率数据来定位和缩放图片。
此函数返回的设备上下文包含与任何新设备上下文相关的默认属性。
应用程序必须使用GetWinMetaFileBits函数将增强型图元文件转换为较旧的Windows元文件格式。
增强型图元文件的文件名应使用.EMF扩展名。
也可以看看
CloseEnhMetaFile, DeleteEnhMetaFile, GetEnhMetaFileDescription, GetEnhMetaFileHeader, GetWinMetaFileBits, PlayEnhMetaFile, RECT