Link to home
Start Free TrialLog in
Avatar of NNOAM1
NNOAM1Flag for Israel

asked on

Am I in Dialog mode? Am I Maximized

Hello experts!

How can I know, while in an open form in Access, if that form is -
1. maximized?
2. in dialog mode?

Thanks
Avatar of DatabaseMX (Joe Anderson - Former Microsoft Access MVP)
DatabaseMX (Joe Anderson - Former Microsoft Access MVP)
Flag of United States of America image

Well, Maximized is determined by You ... either in code in the Form Load or Open event, or in a Macro.

Again, Dialog mode is also determined by you, either in the FormOpen command, or the Popup and Modal properties on the Form property sheet.

Is this what you are asking ?

mx
1. maximized?
I don't know of any setting but microsoft has a webpage which tells you how to determine it by using api calls. You need to use the IsZoomed api call.
http://support.microsoft.com/kb/210190


2. in dialog mode?
Only option I know if is Modal but that is not the same as dialog. I am not aware of anything. You may need to hold an indicator yourself somehow (maybe global variable or form arguments) to tell the form it is opened as dialog.
Avatar of NNOAM1

ASKER

No. The Form is now open. It can be opened from various "places" in the application. Some of them open it in dialog mode, some of them not. In some of them it is maximized, in some of them not. I would like it to be that while the opened form is running, it would be possible to know in what "situation" I am. Something like:
If Me.Maximized then
    ......
Else
    ......
End if

and:
If Me.Dialog
     ...... etc.

But there aren't such properties. And when in dialog mode, the properties Popup and Modal are False.
Is there a way?
ASKER CERTIFIED SOLUTION
Avatar of rockiroads
rockiroads
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Overall, just say NO to Maximizing. WindowS is plural for a reason ... as in multiple windows.  ONLY in Access do developers for Maximizing on users ... because you 'can'.  Most of the time, it only generate a lot of gray/white space.

Imagine that if in Quickbooks Pro, every window/register that you opened was forced max. It would be maddening!

mx
Avatar of NNOAM1

ASKER

Concerning Declare Function IsZoomed Lib "User32"  etc.:
Is it completely "safe" to use it in all Windows versions (XP, Vista, 7)?
(In "safe" I mean - will it work regardless of Win ver.)
32 bit API's will most likely need to be revamped / changed on Win x64, like Win7 x64 ...

Otherwise ... should not be an issue.

mx
Avatar of NNOAM1

ASKER

In Win7 x64 how would I declare that function?
I believe you have to use the ptrSafe parameter ... Google that and you will get a million hits.  Or, maybe Rocki knows ...

mx
as MX says, should not be an issue. MS support site has info on what api calls are okay to use. IsZoomed is one of them. Here is an example of how to define it to make it work for both 32bit and 64bit platforms.

Declare PtrSafe Function IsZoomed Lib "user32" Alias "IsZoomed" (ByVal hwnd As LongPtr) As Long

Read this here to help you get a better understanding.


I had a look. I went thru the properties. Only one's I can find are modal and popup. I went thru the list of api calls and could not find anything that tells you if it has been opened in dialog mode or not.
If you really need it, I think you will need to control it. Are you familiar with form arguments? you can maybe pass in something that way.
Wow, Im slow typing, last comment I saw "otherwise not an issue" by mx lol.
Avatar of NNOAM1

ASKER

Thank you!