【发布时间】:2017-11-21 06:56:24
【问题描述】:
当启动 *.accdb 时,模式弹出窗体被打开并最大化。当窗体最小化时,可以在后台看到主 DB 窗口:
模态弹出窗体最小化时是否可以最小化主DB窗口,使其根本不显示主DB窗口。
我已经尝试了下面的代码。但是,它会抛出一个错误,提示“无法在屏幕上使用 XXX 表单最小化访问”。
谁能帮忙?
更新:如果我将表单设置为模态:不,它可以正常工作。 Main DB 窗口最小化到任务栏。但是,如果我单击任务栏中的图标,它会再次打开 Popup 表单,主 DB 窗口在后台。是否可以将主数据库窗口最小化到通知区域?
Option Compare Database
Option Explicit
Global Const SW_HIDE = 0
Global Const SW_SHOWNORMAL = 1
Global Const SW_SHOWMINIMIZED = 2
Global Const SW_SHOWMAXIMIZED = 3
Private Declare Function apiShowWindow Lib "user32" _
Alias "ShowWindow" (ByVal hWnd As Long, _
ByVal nCmdShow As Long) As Long
Function fSetAccessWindow(nCmdShow As Long)
Dim loX As Long
Dim loForm As Form
On Error Resume Next
Set loForm = Screen.ActiveForm
If Err <> 0 Then
loX = apiShowWindow(hWndAccessApp, nCmdShow)
Err.Clear
End If
If nCmdShow = SW_SHOWMINIMIZED And loForm.Modal = True Then
MsgBox "Cannot minimize Access with " _
& (loForm.Caption + " ") _
& "form on screen"
ElseIf nCmdShow = SW_HIDE And loForm.PopUp <> True Then
MsgBox "Cannot hide Access with " _
& (loForm.Caption + " ") _
& "form on screen"
Else
loX = apiShowWindow(hWndAccessApp, nCmdShow)
End If
fSetAccessWindow = (loX <> 0)
End Function
这是 On Load 事件。
Private Sub Form_Load()
Call fSetAccessWindow(SW_SHOWMINIMIZED)
End Sub
【问题讨论】:
标签: ms-access minimize ms-access-2016