vb中如何是背景图片的大小随着窗体改变?

vb中如何是背景图片的大小随着窗体改变?,第1张

在窗体上添加一个IMage图像
在复制这段代码
Private Sub Form_Resize()
Image1Top = 0
Image1Left = 0
Image1Stretch = True
Image1Height = MeScaleHeight
Image1Width = MeScaleWidth
Image1Picture = MePicture
End Sub
运行就可以咯~

不用代码怎么也实现不了的,可以少量代码实现,加个image图框,stretch属性设置为true
Form_Resize过程加入
Image1Left = 0
Image1Top = 0
MeWidth = Image1Width
MeHeight = Image1Height

我来赚点分——提供基本方法行吗?
显示:假设你已知道怎么显示图像(为了随意移动图像,先把Imagebox控件加到PictureBox控件上,在PictureBox上画Imagebox边框外这8个手柄);在任意位置显示图像(image1move
left,top);图像大小的属性值能获取(图像在ImageBox完整显示并拉伸,则只关注ImageBox尺寸属性值即可);
移动:如果在ImageBox按下了鼠标则记住此点(xi0,yi0)及(image1left,image1top),在鼠标Move事件中根据鼠标在ImageBox的位置(xi,yi),
计算变换量(dx=xi-xi0,
dy=yi-yi0),
并把(dx,dy)加到(image1left,image1top);更新这8个手柄;
缩放:当鼠标移到这8个位置附近(在PictureBoxMouseMove中判断)改变其形状属性值,若按下,则根据移动变化量调整Imagebox尺寸或位置——这需要针对每一个位置做出决定,不难办到。

可以用image呀
这个控件有个stretch属性
设置其值为true
将其image的width及height分别等于form1的scalewidth及scaleheight
把加入到image中即可
这样又能看到全部
而且此又和窗体的大小相当

Dim p As Picture
Private Sub Form_Load()
MeAutoRedraw = True
Set p = LoadPicture("C:\songhuiqiao1jpg") '换成你自己的
End Sub
Private Sub Form_Resize()
PaintPicture p, 0, 0, Width, Height
End Sub

单纯显示图形用Image就可以~而且用Image也正好可解决你的问题
设定Image的Stretch=true
在加入以下代码
Private Sub Form_Resize()
Image1Move 0, 0, ScaleWidth, ScaleHeight
End Sub
或者使用以下的方式来做也可以
Private Sub Form_Paint()
MePaintPicture MePicture, 0, 0, ScaleWidth, ScaleHeight
End Sub
2种都很简单 不过推荐你使用第一种方法。第二种拉大还可以 缩小有时过快 它反应不过来。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/13390192.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-27
下一篇 2023-07-27

发表评论

登录后才能评论

评论列表(0条)

保存