第1个回答 2008-03-10
Option Explicit
Dim pT!, pL!, pW!, pH!
Private Sub Form_Load()
'保存picture控件的Top、Left、Width和Height属性
pT = Picture1.Top
pL = Picture1.Left
pW = Picture1.Width
pH = Picture1.Height
End Sub
Private Sub Form_Resize()
Form1.ScaleHeight = 4000
Form1.ScaleWidth = 4000
'设置Picture1的位置和大小
Picture1.Move pL, pT, pW, pH
End Sub
其中
Form1.ScaleHeight = 4000
Form1.ScaleWidth = 4000
中的4000你根据自己窗体和控件初始大小调整,需要自己调整的。
第2个回答 2015-12-02
在窗体Resize事件中根据窗体的宽度改变控件的宽高就行了。
例如
Private Sub Form_Resize()
picture1.width=form1.width/10
picture1.height=form1.height/10
这样控件根据窗体的大小缩放。同样,相对位置也可以这样本回答被网友采纳
第3个回答 2015-11-14
首先在设计时确定窗体与Picturebox之间的关系,例如Picture1.Left=? Picture1.Top=? Picture1.Width 与 me.Width 的比例关系,Picture1.Height 与 me.Height 的比例关系
那么,在Form_Resize事件中就可以按比例放大或缩小控件尺寸,但控件位置不变,例如
Dim X As Single, Y As Single
Private Sub Form_Load()
X = Picture1.Height / Me.Height
Y = Picture1.Width / Me.Width
End Sub
Private Sub Form_Resize()
Picture1.Height = Me.Height * X
Picture1.Width = Me.Width * Y
End Sub
第4个回答 2008-03-10
Private Sub PicPrintZB()
Picture1.Cls
Picture1.Scale (-110, 110)-(110, -110)
Picture1.CurrentX = 105: Picture1.CurrentY = 20: Picture1.Print "x"
Picture1.CurrentX = 10: Picture1.CurrentY = 105: Picture1.Print "y"
For I = -100 To 100 Step 20
If I <> 0 Then
Picture1.CurrentX = 1: Picture1.CurrentY = 7: Picture1.Line -(I, 0)
Picture1.CurrentX = I - 5: Picture1.CurrentY = -5: Picture1.Print I / 10
Else
Picture1.CurrentX = -3: Picture1.CurrentY = -5: Picture1.Print 0
End If
Next I
For I = -100 To 100 Step 20
If I <> 0 Then
Picture1.CurrentX = -15: Picture1.CurrentY = I + 5: Picture1.Print I / 10
Picture1.CurrentX = 7: Picture1.CurrentY = I: Picture1.Line -(0, I)
End If
Next I
End Sub
Private Sub Form_Load()
Picture1.AutoRedraw = True
End Sub
Private Sub Form_Resize()
Picture1.Move 0, 0, Me.ScaleWidth, Me.ScaleHeight
PicPrintZB
End Sub本回答被提问者采纳
第5个回答 2015-11-21
设置picturebox的Autosize为true即可