【Access示例】根据显示器的分辨率打开对应窗体-name
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


【Access示例】根据显示器的分辨率打开对应窗体

发表时间:2020/7/16 8:01:25 评论(0) 浏览(3997)  评论 | 加入收藏 | 复制
   
摘 要:根据显示器的分辨率打开对应窗体。
正 文:

在窗体的设计过程中,我们会发现不同分辨率或者缩放下,窗体显示效果差别非常大。这时候我们有以下的解决方案:

1、在窗体的Load事件中,我们获取窗体的宽度,然后根据窗体的宽度,使用vba代码设置每个控件的位置和大小。

2、给主流的几种分辨率创建不同的窗体,根据不同的分辨率显示不同的窗体

......

我们这篇文章主要讨论第二种方法

思   路:

1、打开一个非弹出的窗体

2、在窗体加载事件中,将Access窗体最大化

3、隐藏Access窗体左侧导航窗格/对象浏览器

4、获取窗体的宽度,然后根据宽度大概判断出对应的分辨率是多少,关闭当前窗体,显示出各个分辨率对应的窗体


代   码:

Public Function getScreenWidth()

    Dim width As Integer
    
    'Access应用程序窗口最大化
    DoCmd.RunCommand acCmdAppMaximize
    
    '隐藏左侧导航窗格/对象浏览器
    DoCmd.SelectObject acForm, , True
    DoCmd.RunCommand acCmdWindowHide

    width = Form.WindowWidth
    
    '显示左侧导航窗格/对象浏览器
    DoCmd.SelectObject acForm, , True

    '大约2k分辨率
    If width > 29000 Then
        getScreenWidth = 2000
        Exit Function
    End If
    '大约1080分辨率
    If width > 20000 Then
        getScreenWidth = 1080

        Exit Function
    End If
    '大约720分辨率
    If width > 15000 Then
        getScreenWidth = 720
        Exit Function
    End If
    
End Function

Private Sub Form_Load()
    Dim screenSize As Integer
    screenSize = getScreenWidth
    DoCmd.Close acForm, "frmOpen"

    Select Case screenSize
        Case 2000
            DoCmd.OpenForm "frm2k"
            Exit Sub
        Case 1080
            DoCmd.OpenForm "frm1080"
            Exit Sub
        Case 720
            DoCmd.OpenForm "frm720"
            Exit Sub
    End Select
End Sub


示   例:

点击下载此附件


Access软件网交流QQ群(群号:198465573)
 
 相关文章
窗体控件根据分辨率自适应大小  【loooooo   2008/8/17】
解决窗体自适应屏幕分辨率的痛苦经历  【bluebird  2010/1/5】
access2007\2010小技巧一则---控件自适应窗体、屏幕...  【麥田  2011/10/29】
自动设置Access主窗体大小及根据当前屏幕分辨率居中显示  【网行者  2013/5/8】
根据屏幕分辨率自动切换运行程序  【lmqlt  2014/3/13】
Access 控件自适应分辨率  【蒋东林  2019/11/25】
常见问答
技术分类
相关资源
文章搜索
关于作者

name

文章分类

文章存档

友情链接