我开发了一个MS访问应用程序,其中包含多个表单和子表单,其中包含选项卡视图。此应用程序在我的系统中看起来很好,但在我的客户端监视器中,它在应用程序后显示右侧的空白区域。我尝试使用谷歌搜索并找到了DoCmd.Maximize属性,但它没有进行锻炼,因为它不适用于子表单。请建议我能做什么,以便我的应用程序适合任何分辨率屏幕。
答案 0 :(得分:1)
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