在VB6中绘制矢量图并没有想象中那么困难,其实只要使用一个增强型图元文件(EMF文件)并配合3个API函数就可以实现矢量图的绘制。上述的API函数分别是GetEnhMetaFile、GetEnhMetaFileHeader、PlayEnhMetaFile。
以下是上述函数的原型:
(1)Declare Function GetEnhMetaFile Lib "gdi32" Alias "GetEnhMetaFileA" (ByVal lpszMetaFile As String) As Long
说明:取得磁盘文件中包含的一个增强型图元文件的图元文件句柄
参数表:
lpszMetaFile --- String,包含了增强型图元文件的一个磁盘文件的名字
返回值:Long,指向图元文件的句柄。零表示出错
(2)Declare Function GetEnhMetaFileHeader Lib "gdi32" Alias "GetEnhMetaFileHeader" (ByVal hemf As Long, ByVal cbBuffer As Long, lpemh As ENHMETAHEADER) As Long
说明:取得增强型图元文件的图元文件头
参数表:hemf ----------- Long,指向一个增强型图元文件的句柄
cbBuffer ------- Long,ENHMETAHEADER结构的大小
lpemh ---------- ENHMETAHEADER
(3)Declare Function PlayEnhMetaFile Lib "gdi32" Alias "PlayEnhMetaFile"