设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1610|回复: 2
打印 上一主题 下一主题

[窗体] 求助:帮忙看看这段代码,窗体适合尺寸打开的问题

[复制链接]
跳转到指定楼层
1#
发表于 2007-1-1 06:32:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Option Compare Database
Option Explicit

Private Sub Form_Load()
    Dim i, J As Integer
     
    Access.SetOption "Show Status Bar", False '最大化窗口,不显示系统状态栏
    DoCmd.RunCommand acCmdAppMaximize  '让Access主窗口最大化
    DoCmd.Maximize '本窗口最大化
   
    i = Me.WindowWidth '取得Access窗口的宽度
    J = Me.WindowHeight '取得Access窗口的高度
    DoCmd.Restore '还原窗口原来的大小
    DoCmd.MoveSize 0, 0, i, J '将窗口放大(或缩小)到屏幕适合的大小
   
    Application.Echo True  '打开屏幕刷新
   
End Sub





Private Sub Form_Open(cancel As Integer)
    Application.Echo False '关闭屏幕刷新

Dim stb As StatusBar
Dim pnl As Panel
Set stb = stbmain.Object
  
Set pnl = stb.Panels.Add(, "status", "就绪", sbrText)
pnl.Width = 2040
Set pnl = stb.Panels.Add(, "user", "用户", sbrText)
pnl.Width = 1350
Set pnl = stb.Panels.Add(, "opedom", "权限", sbrText)
pnl.Width = 1350
Set pnl = stb.Panels.Add(, "caps", "大写", sbrCaps)
pnl.Width = 600
Set pnl = stb.Panels.Add(, "num", "数字", sbrNum)
pnl.Width = 450
Set pnl = stb.Panels.Add(, "ins", "覆写", sbrIns)
pnl.Width = 450
Set pnl = stb.Panels.Add(, "time", "时间", sbrText)
pnl.Width = 2650

If DCount("*", "仓库管理报警查询弹出") > 0 Or DCount("*", "常规药品仓库管理报警查询弹出") > 0 Or DCount("*", "剧毒药品库存量报警弹出") > 0 Or DCount("*", "设备维护报警查询弹出") > 0 Then
   
    MsgBox "信息报警,请注意查看!", vbInformation + vbOKOnly
   DoCmd.OpenForm "报警提示窗体"
   Else
   
End If
End Sub



Private Sub Form_Resize()
Me.stbmain.Width = Me.InsideWidth
If (Me.stbmain.Width - Me.stbmain.Object.Panels("user").Width - Me.stbmain.Object.Panels("opedom").Width - Me.stbmain.Object.Panels("caps").Width - Me.stbmain.Object.Panels("num").Width _
- Me.stbmain.Object.Panels("ins").Width - Me.stbmain.Object.Panels("time").Width) > 0 Then
Me.stbmain.Object.Panels("status").Width = Me.stbmain.Width - Me.stbmain.Object.Panels("user").Width - Me.stbmain.Object.Panels("opedom").Width - Me.stbmain.Object.Panels("caps").Width - Me.stbmain.Object.Panels("num").Width _
- Me.stbmain.Object.Panels("ins").Width - Me.stbmain.Object.Panels("time").Width
End If
End Sub

Private Sub Form_Timer()
  stbmain.Panels(7).Text = Format(Now(), "yyyy-mm-dd hh:mm:ss") & " " & WeekdayName(Weekday(Date))
End Sub







上面的这段代码是我的主窗体的代码(在这里学的别人的代码,但是红色的部分是我为了做报警用的后加上的),目的是使窗体以适合的尺寸最大化打开,但是在加上红色的代码后,当没有报警提示的时候,这个窗体可以最大化全屏显示,但是当有报警提示弹出窗体后,这个主窗体的尺寸就比最大化的窗体大了~出现了滚动条~



请问这个代码应该怎么修改~



由于我做的例子比较大不好上传~大概有8M左右~所以没有上传例子~



请指教谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2007-1-3 09:52:00 | 只看该作者
自己顶一下
3#
发表于 2007-1-3 17:50:00 | 只看该作者
改变窗体大小会不会也改变控件的位置
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-29 15:07 , Processed in 0.096679 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表