Office中国论坛/Access中国论坛

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

作者: 毒舌    时间: 2007-1-1 06:32
标题: 求助:帮忙看看这段代码,窗体适合尺寸打开的问题
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左右~所以没有上传例子~



请指教谢谢

作者: 毒舌    时间: 2007-1-3 09:52
自己顶一下
作者: tz-chf    时间: 2007-1-3 17:50
改变窗体大小会不会也改变控件的位置




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3