Private Declare Function apiDeleteEnhMetaFile& Lib "gdi32" Alias "DeleteEnhMetaFile" (ByVal hemf As Long)
Private Declare Function apiDeleteMetaFile& Lib "gdi32" Alias "DeleteMetaFile" (ByVal hMF As Long)
Private Declare Function apiGetEnhMetaFileBits& Lib "gdi32" Alias "GetEnhMetaFileBits" (ByVal hemf As Long, ByVal cbBuffer As Long, lpbBuffer As Byte)
Private Declare Function apiGetEnhMetaFileBitsByAddr& Lib "gdi32" Alias "GetEnhMetaFileBits" (ByVal hemf As Long, ByVal cbBuffer As Long, ByVal lpbBuffer As Long)
Private Declare Function apiGetEnhMetaFileDescription& Lib "gdi32" Alias "GetEnhMetaFileDescriptionA" (ByVal hemf As Long, ByVal cchBuffer As Long, ByVal lpszDescription As String)
Private Declare Function apiGetMetaFileBitsEx& Lib "gdi32" Alias "GetMetaFileBitsEx" (ByVal hMF As Long, ByVal nSize As Long, lpvData As Byte)
Private Declare Function apiGetMetaFileBitsExByAddr& Lib "gdi32" Alias "GetMetaFileBitsEx" (ByVal hMF As Long, ByVal nSize As Long, ByVal lpvData As Long)
#Else
Private Declare Function apiDeleteMetaFile% Lib "gdi" Alias "DeleteMetaFile" (ByVal hMF As Integer)
Private Declare Function apiGetMetaFileBits% Lib "gdi" Alias "GetMetaFileBits" (ByVal hMF As Integer)
#End If 'WIN32
Public Property Get hMetaFile() As Long
hMetaFile = hInternalMFile
End Property
Private Sub RaiseMFError(Optional errval)
Dim useerr%
If IsMissing(errval) Then
RaiseError DWERR_APIRESULT, "dwMetaFile"
Else
RaiseError errval, "dwMetaFile"
End If
End Sub
Public Sub InitializeMetafile(ByVal hNewMFile, IsEnh As Boolean)
hInternalMFile = hNewMFile
bIsEnhanced = IsEnh
End Sub
Public Sub DeleteMetafile()
Attribute DeleteMetafile.VB_HelpID = 2520
Attribute DeleteMetafile.VB_Description = "Help available in Visual Basic Programmer's Guide to Win32 API CD ROM"
#If Win32 Then
Dim dl&
If bIsEnhanced = True Then
dl& = apiDeleteEnhMetaFile(hInternalMFile)
Else
dl& = apiDeleteMetaFile(hInternalMFile)
End If
If dl = 0 Then RaiseMFError
hInternalMFile = 0
#Else
Dim dl&
dl& = apiDeleteMetaFile(hInternalMFile)
If dl = 0 Then RaiseMFError
hInternalMFile = 0
#End If
End Sub
Public Sub DeleteEnhMetafile()
Attribute DeleteEnhMetafile.VB_HelpID = 2642
Attribute DeleteEnhMetafile.VB_Description = "Help available in Visual Basic Programmer's Guide to Win32 API CD ROM"
#If Win32 Then
Dim dl&
If bIsEnhanced = True Then
dl& = apiDeleteEnhMetaFile(hInternalMFile)
Else
dl& = apiDeleteMetaFile(hInternalMFile)
End If
If dl = 0 Then RaiseMFError
#End If
End Sub
Public Sub GetEnhMetafileBits(lpBits() As Byte)
Attribute GetEnhMetafileBits.VB_HelpID = 2646
Attribute GetEnhMetafileBits.VB_Description = "Help available in Visual Basic Programmer's Guide to Win32 API CD ROM"