While the terminology you are using is not quite the same as Flash uses, in essence you are correct. In Flash it's called the Display Stack, and each of your "windows" is a DisplayObject which is placed on the Stage. Some DisplayObject descendants can contain other DisplayObjects in a parent-child relationship. They can be (semi-) transparent or irregularly shaped if you like.
However, there is a bit of an obstacle. To use anything more than trivial HTML, you'll have to use StageWebView (for a desktop/AIR app) or an IFRAME (for an swf running in the browser). Neither of those are part of the Display Stack. A StageWebView is behind all other objects (and shows through transparent areas), while an IFRAME is generally in front of them. Whether that is a usable situation depends on your use-case and design requirements. It may take some tinkering and experimentation.
Thanks for that.
My flex application is derived from WindowedApplication, does that mean that WindowedApplication is (behind the scenes) the first object on the "stage" or does that mean that the WindowedApplication class operates as the "stage"?
Can I parent-child windows starting with my main application window? I've tried that today and for some reason flash throws up if I add two windows as child elements of my WindowedApplication main window (I get an ::addChild() index out of bounds exception and only the first child window shows up on top of the WindowedApplication window.) WindowedApplication class always errors when I call ::addChild on it with a message saying that you're not allowed to call addChild on this class (odd given that the documentation seems to say that you can...)
I'm sure there are all kinds of caveats, so I'm just wondering if anyone reading this has had to slay this beast before.
Oops, I messed up. StageWebView is in front of everyting else too. I was mixing it up with StageVideo.
The Stage is a built-in object in Flash. Every .swf file has one. There may be some other housekeeping things too, but your WindowedApplication instance is the root item on the Stage.
To add Flex controls, use AddElement instead of AddChild.
You probably could just use Application instead of WindowedApplication if all you need is one (OS) window with multiple layers.