This small example works for me (Using FlexLib 2.4):

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
layout="vertical"
     creationComplete="onCreationComplete()">
     <mx:Script>
         <![CDATA[
             import flexlib.mdi.containers.MDIWindow;
             import flexlib.mdi.managers.MDIManager;
             import flexlib.mdi.effects.effectsLib.MDIVistaEffects;

             private var newWindow:MDIWindow;

             private function onCreationComplete():void
             {
                 MDIManager.global.effects = new MDIVistaEffects();
             }

             private function openWindow():void
             {
                 newWindow = new MDIWindow();
                 MDIManager.global.add(newWindow);
             }

             private function minimizeWindow():void
             {
                 newWindow.minimize();
             }
         ]]>
     </mx:Script>
     <mx:Button label="openWindow" id="openWindowButton"
click="openWindow()"/>
     <mx:Button label="minimizeWindow" id="minimizeWindowButton"
click="minimizeWindow()"/>
</mx:Application>


--- In [email protected], Adrian Williams <adri...@...> wrote:
>
> Ok,
>
>     So once my morning caffeine jolt hit me, I realized that I already
> know how to force a mouseclick in the event:
>
>     newPanel.minimize(new MouseEvent(MouseEvent.CLICK, true, false));
>
>     So, I fire the event and even walked the code thru the debugger to
> watch it go into the function and "act" normally...but my window still
> defiantly sits un-minimized....sigh...
>
> Adrian
>
> -------- Original Message --------
> Subject:  how to forcibly minimize a window via flexmdi window
> Date:  Mon, 02 Feb 2009 09:12:40 -0600
> From:  Adrian Williams adri...@...
> To:  [email protected]
>
>
>
> Hi gang,
>
>     I've been toying with the outstanding flexmdi component from
flexlib
> and have found something challenging...
>
>     One of the pieces of the MDIWindow is the minimize() function. 
I'm
> creating the windows on the canvas dynamically based on the users last
> know settings...including whether they have minimized any of the
windows
> on their dashboard.  I have a variable in their record for each window
> called isCollapsed (bit/bool).  What I'm trying to do is when the
> records are read and the windows are dynamically created, I check to
see
> if the isCollapsed == true and if so, I'm trying to fire the
> MDIWindow.minimize() function.  However, it's expecting a mouseEvent
and
> I'm not sure how to force a non-existent event into the function???
>
>     Basically, I need to programmatically emulate a mouseclick on the
> minimize button of the window.
>
>     I've tried a number of alternative methods without success,
> including these:
>
>                                 newWindow.minimize();
>                                 newWindow.minimize(null);
>
> newWindow.dispatchEvent(MDIWindowEvent.MINIMIZE);
>                                 dispatchEvent(new
> MDIWindowEvent(MDIWindowEvent.MINIMIZE, newWindow));
>
>     Here is the minimize function:
>
>         public function minimize(event:MouseEvent = null):void
>         {
>             // if the panel is floating, save its state
>             if(windowState == MDIWindowState.NORMAL)
>             {
>                 savePanel();
>             }
>             dispatchEvent(new MDIWindowEvent(MDIWindowEvent.MINIMIZE,
> this));
>             windowState = MDIWindowState.MINIMIZED;
>             showControls = false;
>         }
>
>     Has anyone tried to do this or have any ideas on what to try next?
>
> Thanks,
> Adrian
>

Reply via email to