VB 怎么在一个窗体中添加多张图片(比如是四张),而且是均匀分布排列? 求具体操作或代码
1个回答
展开全部
一种思路:
增加一个隐藏的PictureBox,名字pic1,依次载入图片到pic1,并显示到窗体
pic1.Picture=LoadPicture("pic01.jpg")
me.PaintPicture pic1.hdc,nLeft,nTop,pic1.Width,pic1.Height,0,0,pic1.Width,pic1.Height,vbSrcCopy
pic1.Picture=LoadPicture("pic02.jpg")
...
调整 PaintPicture 前面第2-5个参数可以设定图片显示的位置和大小,后面4个参数指定截取的图片大小。
均匀分布4张图片,图片的显示大小是窗体宽高的一半
第一张图片:
me.PaintPicture pic1.hdc,0,0,me.ScaleWidth/2,me.ScaleHeight/2,0,0,pic1.Width,pic1.Height,vbSrcCopy
第二张图片
me.PaintPicture pic1.hdc,me.ScaleWidth/2,me.ScaleHeight/2,me.ScaleWidth,me.ScaleHeight,0,0,pic1.Width,pic1.Height,vbSrcCopy
以此类推
如果需要一直保持图片,需要将显示图片的代码写在 Paint 事件里。
pic1属性设置
Visible=False
AutoRedraw=True
AutoResize=True
增加一个隐藏的PictureBox,名字pic1,依次载入图片到pic1,并显示到窗体
pic1.Picture=LoadPicture("pic01.jpg")
me.PaintPicture pic1.hdc,nLeft,nTop,pic1.Width,pic1.Height,0,0,pic1.Width,pic1.Height,vbSrcCopy
pic1.Picture=LoadPicture("pic02.jpg")
...
调整 PaintPicture 前面第2-5个参数可以设定图片显示的位置和大小,后面4个参数指定截取的图片大小。
均匀分布4张图片,图片的显示大小是窗体宽高的一半
第一张图片:
me.PaintPicture pic1.hdc,0,0,me.ScaleWidth/2,me.ScaleHeight/2,0,0,pic1.Width,pic1.Height,vbSrcCopy
第二张图片
me.PaintPicture pic1.hdc,me.ScaleWidth/2,me.ScaleHeight/2,me.ScaleWidth,me.ScaleHeight,0,0,pic1.Width,pic1.Height,vbSrcCopy
以此类推
如果需要一直保持图片,需要将显示图片的代码写在 Paint 事件里。
pic1属性设置
Visible=False
AutoRedraw=True
AutoResize=True
追问
pic1.hdc,me.? 什么意思? 初学请多多赐教 thanks
还有什么叫增加一个隐藏的PictureBox,然后依次载入图片到pic1,就一个pic1怎么依次载入?
能把具体详细代码写给我吗
追答
最怕新手了,而且是基本操作都不懂的新手~~
me 指当前窗口,hdc属性用错了,应该用picture属性。
在工程文件保存目录下放4个图片(图片名称见代码),在窗口添加一个图片框,名字是pic1,属性设置如前所述。
复制以下的代码:
Private Sub Form_Paint()
pic1.Picture = LoadPicture("示例图片_01.jpg")
Me.PaintPicture pic1.Picture, 0, 0, Me.ScaleWidth / 2, Me.ScaleHeight / 2, 0, 0, pic1.ScaleWidth, pic1.ScaleHeight, vbSrcCopy
pic1.Picture = LoadPicture("示例图片_02.jpg")
Me.PaintPicture pic1.Picture, Me.ScaleWidth / 2, 0, Me.ScaleWidth / 2, Me.ScaleHeight / 2, 0, 0, pic1.ScaleWidth, pic1.ScaleHeight, vbSrcCopy
pic1.Picture = LoadPicture("示例图片_03.jpg")
Me.PaintPicture pic1.Picture, 0, Me.ScaleHeight / 2, Me.ScaleWidth / 2, Me.ScaleHeight / 2, 0, 0, pic1.ScaleWidth, pic1.ScaleHeight, vbSrcCopy
pic1.Picture = LoadPicture("示例图片_04.jpg")
Me.PaintPicture pic1.Picture, Me.ScaleWidth / 2, Me.ScaleHeight / 2, Me.ScaleWidth / 2, Me.ScaleHeight / 2, 0, 0, pic1.ScaleWidth, pic1.ScaleHeight, vbSrcCopy
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询