简体   繁体   English

最小化保留POPUP表单的MS Access窗口

[英]Minimize MS Access Window Leaving POPUP Form

I have the below code to minimize MS access but the pop up forms disappear with the background... 我有以下代码可以最大程度地减少对MS的访问,但是弹出的表单会随着背景消失...

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

does anyone have any idea how i can leave the popup form and just minimize access background? 有谁知道我如何才能离开弹出式表格并尽量减少访问背景?

The only way I know of to do this is to put the call fSetAccessWindow(SW_SHOWMINIMIZED) in the form_load event. 我唯一知道的方法是将call fSetAccessWindow(SW_SHOWMINIMIZED)放在form_load事件中。 This works reliably for me 这对我来说可靠

The trick is to use the Form.SetFocus cmd afterwards. 诀窍是随后使用Form.SetFocus cmd As the main screen minimizes the SetFocus cmd after will keep the form up: 由于主屏幕将SetFocus cmd最小化,因此将保持表格的状态:

Private Sub cmdMinimize_Click()
        Call fSetAccessWindow(SW_SHOWMINIMIZED)
        Form.SetFocus
End Sub

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM