用图片填充窗体,为什么没有效果?

rzzat1478 2008-04-09 11:10:39
下面是源代码,请帮我看看哪里有问题

Option Explicit

Private Sub tcpic(k As Object, p As PictureBox)
Dim i As Integer, j As Integer
For i = 0 To k.Height Step p.Height
For j = 0 To k.Width Step p.Width
k.PaintPicture p.Picture, j, i, p.ScaleWidth, p.ScaleHeight, 0, 0, p.ScaleWidth, p.ScaleHeight
Next j
Next i
End Sub
Private Sub Form_Load()
Call tcpic(Form1, Picture1)
Picture1.Visible = False
End Sub
...全文
30 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
DoemingRau 2008-04-09
我已经试过了,你的代码没问题,只是不能在Form_Load时调用Call tcpic(Form1, Picture1)
因为FORMload的时候Picturebox的图片还没加载进来。
你可以在窗体上放置一个按钮,然后再按钮事件中调用Call tcpic(Form1, Picture1)
回复
rzzat1478 2008-04-09
嗯?可以平均啊
回复
rzzat1478 2008-04-09
我知道了
谢谢楼上的提醒,可惜只能给一个人分了
回复
cbm6666 2008-04-09
顺便提醒楼主, 如果你这个 Sub 要用在 Dll里面的类的话, 最好使用下面的方式,如此可 "通用"

Public Sub tcpic(k As Object, p As Object) '使用P as PictureBox 是过不了关的
回复
cbm6666 2008-04-09
哈哈, 楼上的手脚快,呵呵...
回复
cbm6666 2008-04-09
加上一行

Me.AutoRedraw = True
回复
Private Sub tcpic(k As Object, p As PictureBox)
Dim i As Integer, j As Integer
For i = 0 To k.Height Step p.Height
For j = 0 To k.Width Step p.Width
k.PaintPicture p.Picture, j, i, p.ScaleWidth, p.ScaleHeight, 0, 0, p.ScaleWidth, p.ScaleHeight
Next j
Next i
End Sub
Private Sub Form_Load()
Me.AutoRedraw = True
Call tcpic(Form1, Picture1)
Picture1.Visible = False
End Sub
回复
相关推荐
发帖
VB基础类
创建于2007-09-28

7490

社区成员

VB 基础类
申请成为版主
帖子事件
创建了帖子
2008-04-09 11:10
社区公告
暂无公告