高手帮我写个函数,高分相送

evjen 2008-09-09 06:05:27
vb已经有1年多没有接触了
谁帮我写一个这样的函数,共外部调用:参数为图片的路径,当把路径传进来后在别处调用这个函数会在窗体上加载这个路径的图片
函数里面没有图片控件


答案正确立即结贴
...全文
145 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
蛋蛋の忧伤 2008-09-10
  • 打赏
  • 举报
回复
哈哈高手如云来晚了
zzyong00 2008-09-10
  • 打赏
  • 举报
回复
汗,Tiger_Zhao的最正确
Tiger_Zhao 2008-09-10
  • 打赏
  • 举报
回复
直接放在窗体中,否则用具体的窗体实例代替 Me
Public Sub ShowPicture(ByVal FilePath As String)
Set Me.Picture = LoadPicture(FilePath)
End Sub
LUOLZD001 2008-09-10
  • 打赏
  • 举报
回复
我觉得楼上各位code都好,简单实用更好!
zzyong00 2008-09-09
  • 打赏
  • 举报
回复
看看真正的无控件版:
Option Explicit
Private Declare Function MulDiv Lib "kernel32" (ByVal nNumber As Long, ByVal nNumerator As Long, ByVal nDenominator As Long) As Long
Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal nIndex As Long) As Long
Private Const LOGPIXELSX = 88
Private Const HIMETRIC_INCH = 2540

Public Sub PaintForm(ByVal Strpath As String, F As Form)
Dim pic As StdPicture
Set pic = LoadPicture(Strpath)
Dim nWidth, nHeight
nWidth = MulDiv(pic.Width, GetDeviceCaps(Me.hdc, LOGPIXELSX), HIMETRIC_INCH)
nHeight = MulDiv(pic.Height, GetDeviceCaps(Me.hdc, LOGPIXELSX), HIMETRIC_INCH)
pic.Render F.hdc, 0, 0, nWidth, nHeight, 0, pic.Height, pic.Width, -pic.Height, 0
F.Refresh '如果form1.autoredraw=true,哪么,这是必须的,如果=false,有这一句就看不到
End Sub


用法:
PaintForm "路径.jpg", Me
bob008 2008-09-09
  • 打赏
  • 举报
回复
1,3楼正解
bob008 2008-09-09
  • 打赏
  • 举报
回复
路过...
vbman2003 2008-09-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 evjen 的回复:]
还有其它方法没有
能不能不拖控件 用代码来创建控件
然后在用你的方法???
[/Quote]

借用 jieweibin 的代码:


Public Sub AddPic(PicPath As String)

dim pic as picturebox
set pic=controls.add("VB.PictureBox","pic")
with pic
.visible=true
.height=1600
.width=2000
.top=0
.left=0
end eith
set pic.Picture = LoadPicture(PicPath)

End Sub



Private Sub Command1_Click()
AddPic "F:\photo\IMG_0003.jpg"
End Sub
evjen 2008-09-09
  • 打赏
  • 举报
回复
还有其它方法没有
能不能不拖控件 用代码来创建控件
然后在用你的方法???
jieweibin 2008-09-09
  • 打赏
  • 举报
回复
'用Picture控件作为容器,不知是否这样?
Public Sub AddPic(PicFrame As PictureBox, PicPath As String)
PicFrame.Picture = LoadPicture(PicPath)
End Sub
'调用
Private Sub Command1_Click()
AddPic Picture1, "F:\photo\IMG_0003.jpg"
End Sub

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧