Re: Detect a form's window mode
- From: "Dirk Goldgar" <dg@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Fri, 22 Aug 2008 16:47:28 -0400
"dch3" <dch3@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message news:A9227DAB-D5D6-412C-8BC6-5C5340B43409@xxxxxxxxxxxxxxxx
I'm already passing in some .OpenArgs used for setting values in the controls
- some of the forms are used with .NotInList events. Given that I'm trying to
be consistent in how my data collection forms operate, I was hoping to avoid
having to go back and modify the DoCmd that open the forms and the various
Loads.
I sympathize.
Hmm. By looking at the window classes of the form and of its parent window, I can tell whether the form is popup or not. If it's opened in dialog mode, it's also popup, so if I don't have to distinguish between dialog mode and plain old popup, this can work:
'----- code for form -----
Private Declare Function apiGetParent Lib "user32" _
Alias "GetParent" (ByVal hwnd As Long) As Long
'Returns the handle of the parent window of the specified window.
Private Sub Form_Load()
Dim hWndParent As Long
Debug.Print "Me", Me.hwnd, fGetClassName(Me.hwnd)
hWndParent = apiGetParent(Me.hwnd)
Debug.Print "Parent", hWndParent, fGetClassName(hWndParent)
Debug.Print "Access", Application.hWndAccessApp, _
GetClassName(Application.hWndAccessApp)
' Note: fGetClassName comes from a module posted on the Access Web,
' but it looks like you don't really need it, so I won't post the link now.
End Sub
'----- end code -----
In Immediate window:
DoCmd.OpenForm "frmDialog"
Me 5048118 OForm
Parent 60031730 MDIClient
Access 68158248 OMain
(close form between calls)
Docmd.OpenForm "frmDialog", WindowMode:=acDialog
Me 5310262 OFormPopup
Parent 68158248 OMain
Access 68158248 OMain
So it looks like, if the parent Hwnd is the same as hWndAccessApp, the form is popup or dialog. I haven't tested this exhaustively, but it's a step in the right direction.
--
Dirk Goldgar, MS Access MVP
www.datagnostics.com
(please reply to the newsgroup)
.
- References:
- Re: Detect a form's window mode
- From: Dirk Goldgar
- Re: Detect a form's window mode
- From: dch3
- Re: Detect a form's window mode
- Prev by Date: RE: Excel instance will not close
- Next by Date: Importing
- Previous by thread: Re: Detect a form's window mode
- Next by thread: Re: If statement with select query
- Index(es):
Relevant Pages
|