VB中 Image或PictureBox 显示网络图片问题

来源:百度知道 编辑:UC知道 时间:2024/05/12 09:26:04
VB中 Image或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&, 0&, 0&, IID, LoadPicture
Exit Function
LocalErr:
Set LoadPicture = VB.LoadPicture(strFileName)

试试这个

Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long

Private Sub Command1_Click()
LoadPictureFromURL Image1, "http://blog.txtbbs.com/attachments/2007/07/31347_200707232052203.jpg"
Image1.Refresh
End Sub

Sub LoadPictureFromURL(PicCtrl As Control, URL As String)
URLDownloadToFile 0&, URL, "c:\tmppp", 0&, 0&
Do Until Len(Dir("c:\tmppp"))
DoEvents
Loop
PicCtrl.Picture = LoadPicture("c:\tmppp")
Kill "c:\tmppp"
End Sub

Private Declare Function OleLoadPicturePath Lib "oleaut32.dll" (ByVal szURLorPath As Long, ByVal punkCalle