This should give you an idea: <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="onCreationComplete(event)"> <mx:Script> <![CDATA[ import mx.controls.Button; import mx.containers.GridItem; import mx.containers.GridRow; import mx.containers.Grid; import mx.events.FlexEvent; import mx.controls.Alert;
private var buttonsArray:Array = new Array("One", "two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"); private var myGridRow:GridRow; private var myButton:Button; private function onCreationComplete(event:FlexEvent):void { var myGrid:Grid = new Grid(); for(var i:int = 0 ; i < buttonsArray.length ; i++) { var myGridItem:GridItem = new GridItem(); myButton = new Button(); myButton.label = buttonsArray[i]; myButton.addEventListener(MouseEvent.CLICK, buttonWasClicked); myGridItem.addChild(myButton); if((i % 3) == 0 || i == 0) { if(i != 0) { myGrid.addChild(myGridRow); } myGridRow = new GridRow(); } myGridRow.addChild(myGridItem); } myGrid.addChild(myGridRow); this.addChild(myGrid); } private function buttonWasClicked(event:MouseEvent):void { var currentButton:Button = event.target as Button; var pt:Point = new Point(currentButton.x, currentButton.y); pt = event.target.localToGlobal(pt); Alert.show("Clicked Button Left: " + pt.x + "\n" + "Clicked Button Bottom: " + (pt.y + currentButton.height).toString()); } ]]> </mx:Script> </mx:Application> > > -----Original Message----- > > From: flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> on behalf of pbrendanc > > Sent: Thu 26/06/2008 7:55 PM > > To: flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> > > Subject: [flexcoders] How to Position a Popup relative to the > control that invoked the popup? > > > > I have a grid with an array of buttons that when clicked, will display > > a popup window that collects user info. > > What I'd like to do is position the popup relative (immediately below) > > the button that the user clicked within the grid - not necessarily > > centered on the current window. > > > > How can I get access the position/coordinates of the calling button - > > is this data somehow available via the createComplete event of the > > popup. I imagine this data is buried somewhere in the > > event/eventtarget object, but I'm not quite sure how to access it. > > > > (Please don't tell me that I need to assign a listener to every button > > in the grid from within the Popup window as I'm creating the grid > > dynamically and it varies in size). > > > > Can anyone help with this, > > > > TIA, > > Patrick