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

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
...全文
70 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
迈克揉索芙特 2008-04-09
  • 打赏
  • 举报
回复
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

7,763

社区成员

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

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