humm Gordon, I have a reference to a component (ti_2), but still can't get the right position, do you mind to have a look? :)
Thanks ================================== <?xml version="1.0"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Script> <![CDATA[ import mx.controls.Alert; private function createMsg (event:Event):void { var id:String = "ti_2"; var txtInput:TextInput = this [id]; var xPos:int = txtInput.x; //You flex, please show me your position :) //var xPos:int = ti_2.x; trace(xPos) } ]]> </mx:Script> <mx:Panel> <mx:Form> <mx:FormItem label="Label1"> <mx:TextInput id="ti_1" /> </mx:FormItem> <mx:FormItem label="Label2"> <mx:TextInput id="ti_2" /> </mx:FormItem> <mx:FormItem label="Label3"> <mx:TextInput id="ti_3" /> </mx:FormItem> <mx:Button label="Button" click="createMsg (event);"/> </mx:Form> </mx:Panel> </mx:Application> =================================== --- In [email protected], "Gordon Smith" <[EMAIL PROTECTED]> wrote: > > Ahh.. I was confused because what you really want to know is, "Given an > String specifying a component's id, how do I get a reference to that > component?" > > The answer to that is to use this[id]: > > var id:String = "ti_2"; > var textInput:TextInput = this[id]; > > Of course, once you have a reference to a component, you can get its > position or any other property. > > - Gordon > > ________________________________ > > From: [email protected] [mailto:[EMAIL PROTECTED] On > Behalf Of flexawesome > Sent: Wednesday, September 12, 2007 1:27 PM > To: [email protected] > Subject: [flexcoders] Re: How to get Textinput position? > > > > > Hey Gordon, > > I am appreciate for your promptly response, sorry for my confusion. I > mean if I know the id name for the textInput, is there a way to click > the button to get the position for "ti_2"? > > Have a nice day :) > > ================================= > <?xml version="1.0"?> > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml > <http://www.adobe.com/2006/mxml> "> > > <mx:Script> > <![CDATA[ > > import mx.controls.Alert; > > private function createMsg(event:Event):void > { > var topLeft:Point = new Point(0, 0); > topLeft = event.currentTarget.localToGlobal(topLeft); > Alert.show("the X position of the top left of LABEL 1 in > global coordinates is " + topLeft.x, "Show Me", Alert.YES | Alert.NO); > } > > ]]> > </mx:Script> > > <mx:Panel> > <mx:Form> > <mx:FormItem label="Label1"> > <mx:TextInput id="ti_1" /> > </mx:FormItem> > <mx:FormItem label="Label2"> > <mx:TextInput id="ti_2" /> > </mx:FormItem> > <mx:FormItem label="Label3"> > <mx:TextInput id="ti_3" /> > </mx:FormItem> > > <mx:Button label="Button" click="createMsg(event);"/> > > </mx:Form> > </mx:Panel> > > </mx:Application> > ==================================================== > > --- In [email protected] <mailto:flexcoders% 40yahoogroups.com> > , "Gordon Smith" <gosmith@> wrote: > > > > I wish I could understand what you don't understand. Here's a complete > > working example. > > > > - Gordon > > > > <?xml version="1.0"?> > > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml > <http://www.adobe.com/2006/mxml> "> > > > > <mx:Script> > > <![CDATA[ > > > > import mx.controls.Alert; > > > > private function createMsg(event:Event):void > > { > > var topLeft:Point = new Point(0, 0); > > topLeft = event.currentTarget.localToGlobal(topLeft); > > Alert.show("the X position of the top left of LABEL 1 in > > global coordinates is " + topLeft.x, "Show Me", Alert.YES | Alert.NO); > > } > > > > ]]> > > </mx:Script> > > > > <mx:Panel> > > <mx:Form> > > <mx:FormItem label="Label1"> > > <mx:TextInput focusOut="createMsg(event);"/> > > </mx:FormItem> > > <mx:FormItem label="Label2"> > > <mx:TextInput/> > > </mx:FormItem> > > <mx:FormItem label="Label3"> > > <mx:TextInput/> > > </mx:FormItem> > > </mx:Form> > > </mx:Panel> > > > > </mx:Application> > > > > ________________________________ > > > > From: [email protected] <mailto:flexcoders% 40yahoogroups.com> > [mailto:[email protected] <mailto:flexcoders% 40yahoogroups.com> > ] On > > Behalf Of flexawesome > > Sent: Wednesday, September 12, 2007 9:43 AM > > To: [email protected] <mailto:flexcoders% 40yahoogroups.com> > > Subject: [flexcoders] Re: How to get Textinput position? > > > > > > > > great, I see.... but I was serious how to get a textInput position in > > form ( id=textInput ) by click the button? > > > > for example like coding below? huummm.... > > > > evt.currentTarget.parent.localToGlobal (new > > Point(evt.currentTarget.x,evt.target.textInput.y)).y > > > > Cheers > > > > --- In [email protected] > <mailto:flexcoders%40yahoogroups.com> > <mailto:flexcoders%40yahoogroups.com> > > , "Gordon Smith" <gosmith@> wrote: > > > > > > Assuming that what you want is global coordinates, it's even simpler > > to > > > do > > > > > > event.currentTarget.localToGlobal(new Point(0, 0)).x > > > > > > which works because the upper-left of any component is (0, 0) in its > > own > > > local coordinate system. > > > > > > - Gordon > > > > > > ________________________________ > > > > > > From: [email protected] > <mailto:flexcoders%40yahoogroups.com> > <mailto:flexcoders%40yahoogroups.com> > > [mailto:[email protected] > <mailto:flexcoders%40yahoogroups.com> > <mailto:flexcoders%40yahoogroups.com> > > ] On > > > Behalf Of flexawesome > > > Sent: Tuesday, September 11, 2007 8:32 AM > > > To: [email protected] <mailto:flexcoders% 40yahoogroups.com> > <mailto:flexcoders%40yahoogroups.com> > > > Subject: [flexcoders] Re: How to get Textinput position? > > > > > > > > > > > > you are SO COOL. Thank you so much :) > > > > > > have a nice day > > > > > > --- In [email protected] > <mailto:flexcoders%40yahoogroups.com> > > <mailto:flexcoders%40yahoogroups.com> > > <mailto:flexcoders%40yahoogroups.com> > > > , "Sven Woermann" <sven.woermann@> > > > wrote: > > > > > > > > Hi, try this. You are basically calling the localToGlobal method > on > > > the > > > > parent container of the TextInput and give it the position of the > > > TextInput > > > > relative to it's parent. > > > > > > > > event.currentTarget.parent.localToGlobal(new > > > Point(event.currentTarget.x, > > > > event.currentTarget.y)).x > > > > > > > > > > > > > > > > > > > > On 9/11/07, flexawesome <flexawesome@> wrote: > > > > > > > > > > > > > > > Hi Gordeon, > > > > > > > > > > Thank you so much to reply it as I am new to flex, and don't > know > > > how > > > > > to use localToGlobal() it in my app below, I am appreciate if > you > > > > > can show me the code , that would be great! > > > > > > > > > > THANKS :) > > > > > > > > > > > > > > > --- In [email protected] > <mailto:flexcoders%40yahoogroups.com> > > <mailto:flexcoders%40yahoogroups.com> > > > <mailto:flexcoders%40yahoogroups.com> > <flexcoders%40yahoogroups.com>, > > > "Gordon > > > > > Smith" <gosmith@> wrote: > > > > > > > > > > > > The x and y properties of a DisplayObject are in the > coordinate > > > > > system > > > > > > of its parent. So you're getting the location of the top- left > of > > > the > > > > > > TextInput relative to the top-left of the FormItem. If you > want > > > > > > coordinates in a different coordinate system, use > > localToGlobal() > > > > > and > > > > > > globalToLocal(). > > > > > > > > > > > > - Gordon > > > > > > > > > > > > ________________________________ > > > > > > > > > > > > From: [email protected] > <mailto:flexcoders%40yahoogroups.com> > > <mailto:flexcoders%40yahoogroups.com> > > > <mailto:flexcoders%40yahoogroups.com> <flexcoders% 40yahoogroups.com> > > > > > [mailto:[email protected] > <mailto:flexcoders%40yahoogroups.com> > > <mailto:flexcoders%40yahoogroups.com> > > > <mailto:flexcoders%40yahoogroups.com> > <flexcoders%40yahoogroups.com>] > > > On > > > > > > Behalf Of flexawesome > > > > > > Sent: Monday, September 10, 2007 7:11 PM > > > > > > To: [email protected] > <mailto:flexcoders%40yahoogroups.com> > > <mailto:flexcoders%40yahoogroups.com> > > > <mailto:flexcoders%40yahoogroups.com> <flexcoders% 40yahoogroups.com> > > > > > > Subject: [flexcoders] Re: How to get Textinput position? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > humm...parent doesn't work... and I correct the code below.. > > > > > > > > > > > > Cheers > > > > > > > > > > > > ================================ > > > > > > > > > > > > <?xml version="1.0"?> > > > > > > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml > <http://www.adobe.com/2006/mxml> > > <http://www.adobe.com/2006/mxml <http://www.adobe.com/2006/mxml> > > > > <http://www.adobe.com/2006/mxml <http://www.adobe.com/2006/mxml> > <http://www.adobe.com/2006/mxml <http://www.adobe.com/2006/mxml> > > > > > > > > <http://www.adobe.com/2006/mxml > <http://www.adobe.com/2006/mxml> <http://www.adobe.com/2006/mxml > <http://www.adobe.com/2006/mxml> > > > <http://www.adobe.com/2006/mxml <http://www.adobe.com/2006/mxml> > <http://www.adobe.com/2006/mxml <http://www.adobe.com/2006/mxml> > > > > > > " > > > > > > viewSourceURL="srcview/index.html"> > > > > > > <mx:Script> > > > > > > <![CDATA[ > > > > > > > > > > > > import mx.core.IFlexDisplayObject; > > > > > > import mx.core.UIComponent; > > > > > > import mx.controls.Alert; > > > > > > > > > > > > private function createMsg(event:Event):void { > > > > > > > > > > > > var target:UIComponent = UIComponent(event.currentTarget); > > > > > > > > > > > > var alert:Alert; > > > > > > > > > > > > Alert.show("the X position of LABEL 1 is > > "+event.currentTarget.x, > > > > > > "Show Me", Alert.YES | Alert.NO) > > > > > > } > > > > > > > > > > > > ]]> > > > > > > </mx:Script> > > > > > > > > > > > > <mx:Panel> > > > > > > <mx:Form> > > > > > > <mx:FormItem label="Label1"> > > > > > > <mx:TextInput focusOut="createMsg(event);"/> > > > > > > </mx:FormItem> > > > > > > <mx:FormItem label="Label2"> > > > > > > <mx:TextInput/> > > > > > > </mx:FormItem> > > > > > > <mx:FormItem label="Label3"> > > > > > > <mx:TextInput/> > > > > > > </mx:FormItem> > > > > > > </mx:Form> > > > > > > </mx:Panel> > > > > > > > > > > > > </mx:Application> > > > > > > > > > > > > --- In [email protected] > <mailto:flexcoders%40yahoogroups.com> > > <mailto:flexcoders%40yahoogroups.com> > > > <mailto:flexcoders%40yahoogroups.com> > > > <flexcoders%40yahoogroups.com><mailto: > > > > > flexcoders% <flexcoders%25> > > > > > 40yahoogroups.com> > > > > > > , "Alex Harui" <aharui@> wrote: > > > > > > > > > > > > > > Might be event.currentTarget.parent.x. There is no Label1 in > > > your > > > > > > > sample. Also see localToGlobal > > > > > > > > > > > > > > > > > > > > > > > > > > > > ________________________________ > > > > > > > > > > > > > > From: [email protected] > <mailto:flexcoders%40yahoogroups.com> > > <mailto:flexcoders%40yahoogroups.com> > > > <mailto:flexcoders%40yahoogroups.com> > > > <flexcoders%40yahoogroups.com><mailto: > > > > > flexcoders% <flexcoders%25> > > > > > 40yahoogroups.com> > > > > > > > > > > > > [mailto:[email protected] > <mailto:flexcoders%40yahoogroups.com> > > <mailto:flexcoders%40yahoogroups.com> > > > <mailto:flexcoders%40yahoogroups.com> > > > <flexcoders%40yahoogroups.com><mailto: > > > > > flexcoders% <flexcoders%25> > > > > > 40yahoogroups.com> > > > > > > ] On > > > > > > > Behalf Of flexawesome > > > > > > > Sent: Monday, September 10, 2007 11:43 AM > > > > > > > To: [email protected] > <mailto:flexcoders%40yahoogroups.com> > > <mailto:flexcoders%40yahoogroups.com> > > > <mailto:flexcoders%40yahoogroups.com> <flexcoders% 40yahoogroups.com> > > > <mailto: > > > > > flexcoders% <flexcoders%25> > > > > > 40yahoogroups.com> > > > > > > > Subject: [flexcoders] How to get Textinput position? > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi guys.... :) > > > > > > > > > > > > > > I am working on flex, and looks hard to get the target > object > > x > > > > > and > > > > > > y > > > > > > > position. do you have any ideas? > > > > > > > > > > > > > > Cheers & THANKS > > > > > > > > > > > > > > ================================ > > > > > > > > > > > > > > <?xml version="1.0"?> > > > > > > > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml > <http://www.adobe.com/2006/mxml> > > <http://www.adobe.com/2006/mxml <http://www.adobe.com/2006/mxml> > > > > <http://www.adobe.com/2006/mxml <http://www.adobe.com/2006/mxml> > <http://www.adobe.com/2006/mxml <http://www.adobe.com/2006/mxml> > > > > > > > > <http://www.adobe.com/2006/mxml > <http://www.adobe.com/2006/mxml> <http://www.adobe.com/2006/mxml > <http://www.adobe.com/2006/mxml> > > > <http://www.adobe.com/2006/mxml <http://www.adobe.com/2006/mxml> > <http://www.adobe.com/2006/mxml <http://www.adobe.com/2006/mxml> > > > > > > > > > > <http://www.adobe.com/2006/mxml > <http://www.adobe.com/2006/mxml> > > <http://www.adobe.com/2006/mxml <http://www.adobe.com/2006/mxml> > > <http://www.adobe.com/2006/mxml <http://www.adobe.com/2006/mxml> > > <http://www.adobe.com/2006/mxml <http://www.adobe.com/2006/mxml> > > > > > <http://www.adobe.com/2006/mxml <http://www.adobe.com/2006/mxml> > <http://www.adobe.com/2006/mxml <http://www.adobe.com/2006/mxml> > > > <http://www.adobe.com/2006/mxml <http://www.adobe.com/2006/mxml> > <http://www.adobe.com/2006/mxml <http://www.adobe.com/2006/mxml> > > > > > > > > > " > > > > > > > viewSourceURL="srcview/index.html"> > > > > > > > <mx:Script> > > > > > > > <![CDATA[ > > > > > > > > > > > > > > import mx.core.IFlexDisplayObject; > > > > > > > import mx.core.UIComponent; > > > > > > > import mx.controls.Alert; > > > > > > > > > > > > > > > > > > > > > private function createMsg(event:Event):void { > > > > > > > > > > > > > > var target:UIComponent = UIComponent (event.currentTarget); > > > > > > > > > > > > > > var alert:Alert; > > > > > > > > > > > > > > Alert.show("the X position of LABEL 1 is > > > "+event.currentTarget.x, > > > > > > > "Show Me", Alert.YES | Alert.NO) > > > > > > > } > > > > > > > > > > > > > > ]]> > > > > > > > </mx:Script> > > > > > > > > > > > > > > <mx:Panel> > > > > > > > <mx:Form> > > > > > > > <mx:FormItem label="Label"> > > > > > > > <mx:TextInput focusOut="createMsg(event);"/> > > > > > > > </mx:FormItem> > > > > > > > <mx:FormItem label="Label"> > > > > > > > <mx:TextInput/> > > > > > > > </mx:FormItem> > > > > > > > <mx:FormItem label="Labe3"> > > > > > > > <mx:TextInput/> > > > > > > > </mx:FormItem> > > > > > > > </mx:Form> > > > > > > > </mx:Panel> > > > > > > > > > > > > > > </mx:Application> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >

