图象转换上
'功能 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
个人主页: http://shawls.yeah.net
e-mail: shawfile@163.net
qq: 9181729