早教吧作业答案频道 -->其他-->
vb:请问各位大侠,以下代码每句都是什么意思呀.小弟才疏学浅,实在是不知道我.PrivateFormOldWidthAsLongPrivateFormOldHeightAsLongPublicSubresizeinit(FormNameAsForm)DimObjAsControlFormOldWidth=FormName.Scal
题目详情
vb :请问各位大侠,以下代码每句都是什么意思呀.小弟才疏学浅,实在是不知道我.
Private FormOldWidth As Long
Private FormOldHeight As Long
Public Sub resizeinit(FormName As Form)
Dim Obj As Control
FormOldWidth = FormName.ScaleWidth
FormOldHeight = FormName.ScaleHeight
On Error Resume Next
For Each Obj In FormName
Obj.Tag = Obj.Left & " " & Obj.Top & " " & Obj.Width & " " & Obj.Height & " "
Next Obj
On Error GoTo 0
End Sub
Public Sub ResizeForm(FormName As Form)
Dim Pos(4) As Double
Dim i As Long,TempPos As Long,StartPos As Long
Dim Obj As Control
Dim ScaleX As Double,ScaleY As Double
ScaleX = FormName.ScaleWidth / FormOldWidth
ScaleY = FormName.ScaleHeight / FormOldHeight
On Error Resume Next
For Each Obj In FormName
StartPos = 1
For i = 0 To 4
TempPos = InStr(StartPos,Obj.Tag," ",vbTextCompare)
If TempPos > 0 Then
Pos(i) = Mid(Obj.Tag,StartPos,TempPos - StartPos)
StartPos = TempPos + 1
Else
Pos(i) = 0
End If
Obj.Move Pos(0) * ScaleX,Pos(1) * ScaleY,Pos(2) * ScaleX,Pos(3) * ScaleY
Next i
Next Obj
On Error GoTo 0
End Sub
Private Sub Form_Resize()
Call ResizeForm(Me)
End Sub
Private FormOldWidth As Long
Private FormOldHeight As Long
Public Sub resizeinit(FormName As Form)
Dim Obj As Control
FormOldWidth = FormName.ScaleWidth
FormOldHeight = FormName.ScaleHeight
On Error Resume Next
For Each Obj In FormName
Obj.Tag = Obj.Left & " " & Obj.Top & " " & Obj.Width & " " & Obj.Height & " "
Next Obj
On Error GoTo 0
End Sub
Public Sub ResizeForm(FormName As Form)
Dim Pos(4) As Double
Dim i As Long,TempPos As Long,StartPos As Long
Dim Obj As Control
Dim ScaleX As Double,ScaleY As Double
ScaleX = FormName.ScaleWidth / FormOldWidth
ScaleY = FormName.ScaleHeight / FormOldHeight
On Error Resume Next
For Each Obj In FormName
StartPos = 1
For i = 0 To 4
TempPos = InStr(StartPos,Obj.Tag," ",vbTextCompare)
If TempPos > 0 Then
Pos(i) = Mid(Obj.Tag,StartPos,TempPos - StartPos)
StartPos = TempPos + 1
Else
Pos(i) = 0
End If
Obj.Move Pos(0) * ScaleX,Pos(1) * ScaleY,Pos(2) * ScaleX,Pos(3) * ScaleY
Next i
Next Obj
On Error GoTo 0
End Sub
Private Sub Form_Resize()
Call ResizeForm(Me)
End Sub
▼优质解答
答案和解析
gxhbsx
看了vb:请问各位大侠,以下代码每...的网友还看了以下:
在VB中INT是什么意思?如:A=INT(i/100)是什么意思?(见标题) 2020-05-14 …
vb中variant是什么意思,有什么用法 2020-05-17 …
A、B两列波在某时刻的波形如图所示,经过t=TA时间(TA为波A的周期),两波再次出现如图波形,则 2020-05-22 …
简单的VB题,但是我还是不会,利用随机函数,产生五十至一百范围内的二十个随机数,显示其中的最大值, 2020-06-09 …
VB绝对是个高手挑战题目.求代码有TEXT1-7,7个数值,其中TEXT1-6的数值可能会是0-2 2020-07-18 …
vb中not的用法?为什么not1=-2not-2=1在vb中不是用非零的数表示true用0表示f 2020-07-28 …
VB中filterindex是什么意思 2020-11-01 …
在VB中,AANDBORC,是指什么 2020-11-01 …
VB中Listcount是什么意思、那个listcount-1怎么解决? 2020-11-10 …
VB任意输入n个数,按由小到大的顺序排列并显示输出 2020-12-05 …