全屏自动安装MS访问应用程序

时间:2017-09-26 09:06:18

标签: vba ms-access automation access-vba

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

1 个答案:

答案 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