vb picturebox 加载网络图片的两种方法,分无缓存加载和有缓存加载

前端之家收集整理的这篇文章主要介绍了vb picturebox 加载网络图片的两种方法,分无缓存加载和有缓存加载前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Private Declare Function OleLoadPicturePath Lib "oleaut32.dll" (ByVal szURLorPath As Long,ByVal punkCaller As Long,ByVal dwReserved As Long,ByVal clrReserved As OLE_COLOR,ByRef riid As TGUID,ByRef ppvRet As IPicture) As Long

Private Type TGUID
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(0 To 7) As Byte
End Type

'加载函数
Public Function LoadPicture(ByVal strFileName As String) As Picture
Dim IID As TGUID
With IID
.Data1 = &H7BF80980
.Data2 = &HBF32
.Data3 = &H101A
.Data4(0) = &H8B
.Data4(1) = &HBB
.Data4(2) = &H0
.Data4(3) = &HAA
.Data4(4) = &H0
.Data4(5) = &H30
.Data4(6) = &HC
.Data4(7) = &HAB
End With

On Error GoTo LocalErr

OleLoadPicturePath StrPtr(strFileName),0&,IID,LoadPicture
Exit Function
LocalErr:
Set LoadPicture = VB.LoadPicture(strFileName)
Err.Clear
End Function

使用方法:
Set 控件名.Pictue = LoadPicture(图片网络路径)




上面这个是无缓存加载的

下面这个是下载到硬盘后加载的
去除加载部分 就是下载了

Private Sub Command1_Click()

Dim b() As Byte
Dim strURL As String
strURL = "http://www.baidu.com/img/baidu_sylogo1.gif" b() = Inet2.OpenURL(strURL,icByteArray) Open "c:/csdn.jpg" For Binary Access _ Write As #1 Put #1,b() Close #1 Image1.Picture = LoadPicture("c:/csdn.jpg") End Sub

猜你在找的VB相关文章