Containers

I have a control window where , I had hoped, to have several containers of the same size layered over each other. Each container would serve different control functions of the control scheme when selected. However when trying to design, I found it difficult to select only one container even if I had the visibility disabled on the others. It seems that the top layer container got selected even if the visibility was disabled. Is there a way to differentiate/select among the layers so that only one container is selected? Also, it would be nice to have the tag strip select containers as well. I was just trying to use only one window with multiple containers. Maybe I have the wrong approach and should use separate windows instead. Thanks

You can easily do this with containers. I haven’t used the tab control yet, but I’m sure you could make it work with that too (I use a multi-state button for this example). The key is to set the component z-order through scripting so that the container you want to access is moved to the front:

if event.source.indicatorValue == 1:
	event.source.parent.setComponentZOrder(event.source.parent.getComponent('Container 1'),0)
if event.source.indicatorValue == 2:
	event.source.parent.setComponentZOrder(event.source.parent.getComponent('Container 2'),0)

I have a wizard window where there are eight containers stacked on each other and it works fine.

As for working with containers in the designer, that’s a different story. You either have to run the project and move the container you are working on to the front, access the container components through the menu, or spread the containers around the screen and then set their location through scripting when the screen launches (that’s what I refer, personally).

Step7 beat me to it :wink:

I find when dealing with overlapping objects that it is best to interact with them using the tree view in the Project Browser. This removes the frustration of trying to click on the correct object. When placing controls on something like a container, you may want to move that container to the top of the Z order and make sure it is visible.

It is possible to use the Tab Strip to select between different containers. I have attached a window giving an example of this. Basically, the tab names are “1”, “2” and “3”. When you change to a new tab, the new tab name is used to make either “Container 1”, “Container 2” or “Container 3” visible as appropriate. Note that you have to initialise the tabs and container visibilities when you open the window, to ensure it is in a known state. This could be done using a dynamic property if you want to open the window at a different tab.
Tabstrip test.vwin (12.1 KB)

Super!! Thanks guys.