Form窗体(作为主窗体用),设计时,WindowState=2 '最大化。我想给他设定一背景图,用户在改变窗体大小时,要求背景图同步缩放!可是下面的代码在执行时,只有在最大化状态时满足要求,而在拖放操作时:减小窗体宽度(预期背景图收缩),可是背景图呈现放大趋势;拉大窗体宽度(预期背景图放大),背景图则呈现收缩趋势。不懂,请大家指点,谢谢先!
Private Sub Form_Resize()'FmMain即上述Form窗体
Dim PicBack As IPictureDisp
Set PicBack = LoadPicture(G_AppPath & "\MyIni\City1.bmp")
FmMain.AutoRedraw = True
FmMain.PaintPicture PicBack, 0, 0, PicBack.Width, PicBack.Height, 0, 0, FmMain.Width + 5000, FmMain.Height - 550
End Sub
Private Sub Form_Resize()'FmMain即上述Form窗体
Dim PicBack As IPictureDisp
Set PicBack = LoadPicture(G_AppPath & "\MyIni\City1.bmp")
FmMain.AutoRedraw = True
FmMain.PaintPicture PicBack, 0, 0, PicBack.Width, PicBack.Height, 0, 0, FmMain.Width + 5000, FmMain.Height - 550
End Sub
================================================================================
会出现缺口的现象,背景色露了出来,非常难看。
然后在FROM的RESIZE事件中调用。
=====================================================================
Private Sub Form_Resize()
ImgBack.Width = FmMain.Width
ImgBack.Height = FmMain.Height
End Sub
是这样吗?还是不行啊,其中图片的左上角很小一部分被放大充满窗体,有“只见树叶不见森林”的效果,还有其他方法吗?
ImgBack.Width = FmMain.Width
ImgBack.Height = FmMain.Height
End Sub
-------------------
把ImgBack的Stretch属性设置为True后,上面的代码应该是可以可以满足你的要求
Private Sub Form_Resize()
ImgBack.Width = FmMain.Width\12
ImgBack.Height = FmMain.Height\13
End Sub