How Do I Display the Interface of Different Programs in the Same Window? (Magic xpa 3.x)
Rather than have a lot of windows open, you may want to re-use one window to display multiple different programs. This is slightly different than using IFrames, as IFrames are partitions of one window. IFrame usage is explained in How Do I Prevent a New Window From Being Opened When Calling a Task or Program?.
In our example, when a user presses Call Program B, then Program B is opened in a window. When the user presses Call Program C, then Program C appears in the same window (the windows are shown separately in our illustration, but for the user they overlay each other as you would expect).
This type of behavior is easily done in Magic xpa.
To call a different programs using the same window, just use the same Destination Frame.
In our example, we have two events, each of which is raised by a different push button. Each event calls a different program, and each program has its own HTML to control the display. But in the Call Operation properties, both have a Destination Frame of “New_Win”.
“New_Win” is not an IFrame, nor is it entered anywhere in the HTML. It is just a random name ... any string of characters would work. By specifying the same name in two program calls though, you are telling Magic xpa to use the same window for both calls. When the Destination frame is a new string of characters, a new window is opened: when the string is the same as the previous frame, the frame or window is re-used.