The simplest way I’ve found to do this is:
- Create a modal dialog with opaque background as described here.
- Create a Client Boolean tag called ‘modal’.
- Create your docked window, then create a container the full size of the docked window and move it to the top of the z-order. Set the container’s
Opaque
property to false and bind it’sVisibility
property to themodal
Client tag. In the container’smouseClicked
,mousePressed
andmouseReleased
’ events enterpass
to consume the mouse clicks. - When you open and close your popup make sure you set and clear the
modal
tag.
This should ensure you can still see all controls under the popup but cannot click on any of them. I also like to put a tint on the popup background and container to focus attention on the popup.