图象转换上
´功能 Picture对象相关操作
´类别 模块
Option Explicit
´*****************************************************************
´* 将 icon 对象转换为 VB 的 picture 对象
´* 参数∶ hIcon 一个有效的图标句柄
´*****************************************************************
Function IconToPicture(ByVal hIcon As Long) As IPicture
Dim ipic As IPicture
Dim picdes As PICTDESC, iidIPicture As IID
If hIcon = hNull Then Exit Function
picdes.cbSizeofstruct = Len(picdes)
picdes.picType = vbPicTypeIcon
picdes.hgdiobj = hIcon
´ Fill in magic IPicture GUID {7BF80980-BF32-101A-8BBB-00AA00300CAB}
iidIPicture.Data1 = &H7BF80980
iidIPicture.Data2 = &HBF32
iidIPicture.Data3 = &H101A
iidIPicture.Data4(0) = &H8B
iidIPicture.Data4(1) = &HBB
iidIPicture.Data4(2) = &H0
iidIPicture.Data4(3) = &HAA
iidIPicture.Data4(4) = &H0
iidIPicture.Data4(5) = &H30
iidIPicture.Data4(6) = &HC
iidIPicture.Data4(7) = &HAB
OleCreatePictureIndirect picdes, iidIPicture, True, ipic
Set IconToPicture = ipic
End Function
´******************************************************************
´* 将 Cursor 对象转换为 VB 的 Picture 对象
´* 参数∶ hIcon 一个有效的光标句柄
´******************************************************************
Function CursorToPicture(ByVal hIcon As Long) As IPicture
´ It´s just an alias
Set CursorToPicture = IconToPicture(hIcon)
End Function
´******************************************************************
´* 将 bitmap 对象转换为 VB 的 picture 对象
´* 参数∶ hBmp 一个有效的位图句柄
´* hpal 一个有效的调色板句柄
´******************************************************************
Function BitmapToPicture(ByVal hBmp As Long, _
Optional ByVal hPal As Long = hNull) As IPicture
Dim ipic As IPicture
Dim picdes As PICTDESC, iidIPicture As IID
picdes.cbSizeofstruct = Len(picdes)
picdes.picType = vbPicTypeBitmap
picdes.hgdiobj = hBmp
picdes.hPalOrXYExt = hPal
´ Fill in magic IPicture GUID {7BF80980-BF32-101A-8BBB-00AA00300CAB}
iidIPicture.Data1 = &H7BF80980
iidIPicture.Data2 = &HBF32
iidIPicture.Data3 = &H101A
iidIPicture.Data4(0) = &H8B
iidIPicture.Data4(1) = &HBB
iidIPicture.Data4(2) = &H0
iidIPicture.Data4(3) = &HAA
iidIPicture.Data4(4) = &H0
iidIPicture.Data4(5) = &H30
iidIPicture.Data4(6) = &HC
iidIPicture.Data4(7) = &HAB
OleCreatePictureIndirect picdes, iidIPicture, True, ipic
Set BitmapToPicture = ipic
End Function
以上代码来自: 源代码数据库(SourceDataBase)
当前版本: 1.0.436
作者: Shawls
个人主页:
E-Mail:
QQ: 9181729