AFAIK,它是必须处理其子窗体控件宽度的主窗体。我不知道以下内容是否对您有帮助,但如果您创建一个表单并在其上放置一个名为SizeProperties_Label 的标签,您可以粘贴以下代码。它在调整表单大小时显示一些属性。熟悉了这些属性后,或许可以将本示例中的标签大小调整应用到子窗体控件的大小调整中。
Option Compare Database
Option Explicit
Dim mCaptionCounter As Long
Const ConvertTwipsToCm As Long = 567
Private Sub display_Form_Resize()
Dim S As String
mCaptionCounter = mCaptionCounter + 1
S = Now & " -- " & mCaptionCounter & vbCrLf & vbCrLf
S = S & display_One_Parameter("me top : ", CDbl(Me.WindowTop / ConvertTwipsToCm), " ")
S = S & display_One_Parameter("me left : ", CDbl(Me.WindowLeft / ConvertTwipsToCm))
S = S & display_One_Parameter("me height : ", CDbl(Me.WindowHeight / ConvertTwipsToCm), " ")
S = S & display_One_Parameter("me width : ", CDbl(Me.WindowWidth / ConvertTwipsToCm))
S = S & display_One_Parameter("me insideh : ", CDbl(Me.InsideHeight / ConvertTwipsToCm), " ")
S = S & display_One_Parameter("me insidew : ", CDbl(Me.InsideWidth / ConvertTwipsToCm))
With SizeProperties_Label
S = S & display_One_Parameter("lbl top : ", CDbl(.Top / ConvertTwipsToCm), " ")
S = S & display_One_Parameter("lbl left : ", CDbl(.Left / ConvertTwipsToCm))
S = S & display_One_Parameter("lbl height : ", CDbl(.Height / ConvertTwipsToCm), " ")
S = S & display_One_Parameter("lbl width : ", CDbl(.Width / ConvertTwipsToCm))
End With
SizeProperties_Label.Caption = S
End Sub
Private Function display_One_Parameter(MeText As String, D As Double, Optional EndText As String = vbCrLf) As String
display_One_Parameter = MeText & Format(D, "0.00") & EndText
End Function
Private Sub perform_Form_Resize_Gamma()
Dim L As Long
On Error Resume Next
L = (Me.InsideHeight): Debug.Print Format(L, "#.##")
Me.SizeProperties_Label.Top = L * 0.05 ' can cause error [2100], so, for now, resume next
Me.SizeProperties_Label.Height = L * 0.9
L = (Me.InsideWidth): Debug.Print Format(L, "#.##")
Me.SizeProperties_Label.Left = L * 0.05 ' can cause error [2100], so, for now, resume next
Me.SizeProperties_Label.Width = L * 0.9
End Sub
Private Sub Form_Resize()
Call display_Form_Resize
Call perform_Form_Resize_Gamma
End Sub
Private Sub Details_Click()
Call display_Form_Resize
End Sub
Private Sub Form_Click()
Call display_Form_Resize
End Sub
Private Sub Form_Load()
mCaptionCounter = 0
End Sub
Private Sub SizeProperties_Label_Click()
Call display_Form_Resize
End Sub