The quickest, dirtiest, most basic way to use flexmdi is with the MDICanvas class. MDICanvas essentially wraps the manager (MDIManager) and container (Canvas) into one class, allowing you to define a basic MDI interface purely in MXML. Let's look at some code.

<flexmdi:MDICanvas id="mdic" width="500" height="500">
    <flexmdi:MDIWindow id="win1" title="Window One" x="10" y="10">
        <samples:SampleContent />
    </flexmdi:MDIWindow>
    <flexmdi:MDIWindow id="win2" title="Window Two" x="250" y="250">
        <samples:SampleContent />
    </flexmdi:MDIWindow>
    <flexmdi:MDIWindow id="win3" title="Window Three" x="100" y="100">
        <samples:SampleContent />
    </flexmdi:MDIWindow>
</flexmdi:MDICanvas>

As you can probably guess, this will create a 500 x 500 Canvas with three windows in it. The windows are created at the coordinates specified in the MXML, and since no size is specified they are created at the default size of 200 x 200.

As it turns out, thats pretty much all there is to it. You could also use this approach for doing a quick layout in MXML but still use AS to gain a little more control and customize things. You can obviously address any of the windows by their id, but you can also address the MDIManager that is created for you with code like this: mdic.windowManager. I will discuss some of the more advanced topics in subsequent articles but feel free to leave questions or comments.