I’m a Windows user so from time to time I must face the different behaviour of Mac, and sometimes I’m not sure if I do it correctly.
On Windows, when I ShowModal a window, everything is blocked except the window I’ve just shown.
But in Mac I’ve noticed that although the new window has not a menubar, the menubar of the main window is still operative, which can create a lot of interferences with the new ShowModal window.
Which is the procedure in Mac to get a ShowModal window that blocks everything (even the main window menu)?
Thanks for your help.
On Mac you must first get accustomed to the menu being the same for all windows throughout your app. To handle the modal window not allowing users to access the menubar you must get in the mindset of the global menubar.
When your modal window becomes active you want to disable the menubar items; so using the modal window itself, use the EnableMenuItems event to disable the MenuItems you wish to prevent.
But you don’t want to disable every item because you might still want things like Cut, Copy, and Paste, so you can check the type of the frontmost window to determine if it’s modal, then disable/enable accordingly.
You only have to worry about this within the App class’ or menu subclasses’ EnableMenuItems since menus implemented within windows will be disabled anyway.
Thanks Tim and Kem.
In fact it is a very different way. But I think I’ve got the idea.
In may case, when I have a modal window, I want no menu at all, so it will be easier (I hope) to deal with it.
Ok, but that’s not standard behavior on a Mac.
Yes I know.
But this is a very big application that has been working for years on Windows (and still it is, with many more users that on Mac) and I don’t feel like to change too many things.
I just want to prevent some one using the menu of the main window.
Thanks anyway for your clarification.