I didn't solved all problems, but I found a pretty good one. Somebody mentioned group, so I worked more in this direction.
I will describe now how to make "windows" / layers and deactivate all other icons using groups, layers, function() and families. (which simplify everything)
1.) Make a family (e.g. F_Icons) and all the buttons you will to need to go the next window/layer.
2.) Go to the family properties and add a Family Instance Variable (e.g. ID - text variable)
3.) Click the buttons in the family and add in the Instance Variable names (e.g. Menu_1, Menu_2, Menu_3,...)
4.) EVENT: the programming:
4.a) add a group (e.g. Menu_1) and put all the programming you need
4.b) add a group (e.g. Menu_2) and put the other programming, and so on...
5.) LAYER: the design
5.a) add a layer with the name (e.g. Menu_1) put all the text, images, and whatever you need in it. Check it if its really in the layer (you can see this in the properties)
5.b) if you use an icon several time in different groups, think about cloning/copying it or start the group to make it visible and end the group to make it invisible (sometimes it happened that I could see the icon (but not use it) in another group, so I cloned it.
6.) set all layers invisible and groups deactivate
7.) in the eventsheet put following command:
Function on Menu: set group"Menu_1" deactivated
set group"Menu_2" deactivated
set group"Menu_3" deactivated
set layer "Menu_1" invisible
set layer "Menu_2" invisible
set layer "Menu_3" invisible
set group Function.Param(0) Activated
set layer Function.Param(0) Visible
on left button clicked on F_Icon: Call Menu(F_Icons.ID) (<- add parameter F_Icons.ID)[/code:1lyrlruw]
now it should work
for newbies (description):
I put all buttons into a family. So I save the programming for each button. On click, open group, hide rest,...
by adding a ID for each button, I know which button is clicked
now when you click one button of the family "F_Icon" it opens a function"Menu". (it's a kind of a sub-program, which deactivate all groups and hide all layers at the beginning.)
by adding the parameter (F_Icons.ID). The ID of the button is send to sub-program and can be used with function.Param(0) (<- 0 stands for the first variable, you also can you more variables)
because the ID has the same name like the layers and the groups, I just need to say activate the group with this name and show the layer with the same name.
I found also other ways, but there are some small errors in it. Don't ask why.
PS: sorry I don't have now the time to make a sample, but I hope the description will help