I am having what might be a related/similar issue, hopefully we can find the proper way to handle it and post it to the list.
I have a canvas-based component that contain shapes and listens to keyup events to performs ops on the currently selected shape (the one that was clicked last). If the Window looses focus and back then the keyup events are no longer caught by the component unless the user manually clicks within it once again. My solution instead is to have the enclosing app track whether the component is currently in the display list and whether it was used (click or keyup) last. If so then on activate I simulate a click on the last selected shape. I think this is related to focus but it seems the focus manager only deals with IFocusManagerComponent and the component has none of the listed implementors so trying to use getFocus() always returns null. Ideally I'd like to be able to set the focus back to the canvas without using a click event that wasn't due to user interaction. - Ivo ----- Original Message ---- From: Teresa Howington <[EMAIL PROTECTED]> To: [email protected] Sent: Friday, March 28, 2008 7:14:15 AM Subject: [flexcoders] Re: need help capturing focus in a variable or using event to capture current target I've had my nose buried in 3 Flex books and several forums for 3 days now. I've not been able to find documentation showing an example of how to use focus. I even put a message in the Adobe LiveDocs, and they responded, "question is too specific. look elsewhere." Has ANYONE ever attempted to catch focus in some manner or form? This should not be that hard but this is becoming a real pain! --- In [EMAIL PROTECTED] ups.com, "Josh McDonald" <[EMAIL PROTECTED]> wrote: > > Look into the focus events. I don't know if there's a global "focusChanged" > event or something like that, but you can definitely hook into "focusIn" and > "focusOut" on individual components. > > -J > > On Fri, Mar 28, 2008 at 7:30 AM, Teresa Howington <tesshowington@ ...> > wrote: > > > Hi everyone, > > > > I'm relatively new to Flex, and need help with targeting. I'm creating an > > app that has multiple text areas, shape, and image objects. I want the user > > to be able to click on one of these, have it show that it's "selected", and > > then use the control buttons I make to manipulate the objects, like changing > > font, rotating, etc. > > > > I'm using this Flex snippet from > > http://blog. paranoidferret. com/index. php/2007/ 08/14/flex- snippet- tutorial-using- the-textrange- class/ > > but trying to avoid hardcoding the target. > > > > Look at this snippet in particular: > > > > ************ ** > > > > <mx:Script> > > <![CDATA[ > > import mx.controls. textClasses. TextRange; > > import mx.events.ColorPick erEvent; > > > > private var textSelection: TextRange; > > > > private function initTextArea( ):void > > { > > textSelection = new TextRange(txtSlate, true); *<--- see how the > > target "txtSlate" is hardcoded there? I want to refer to some generic > > variable that captures the currently selected target. What method should I > > use? > > * } > > > > private function increaseFontSize( ):void > > { > > textSelection. fontSize+ +; > > } > > > > ************ ********* ** > > > > Any help would be appreciated! Thank you! > > > > Tess > > > > > > > > -- > "Therefore, send not to know For whom the bell tolls, It tolls for thee." > > :: Josh 'G-Funk' McDonald > :: 0437 221 380 :: [EMAIL PROTECTED] > <!-- #ygrp-mkp{ border:1px solid #d8d8d8;font-family:Arial;margin:14px 0px;padding:0px 14px;} #ygrp-mkp hr{ border:1px solid #d8d8d8;} #ygrp-mkp #hd{ color:#628c2a;font-size:85%;font-weight:bold;line-height:122%;margin:10px 0px;} #ygrp-mkp #ads{ margin-bottom:10px;} #ygrp-mkp .ad{ padding:0 0;} #ygrp-mkp .ad a{ color:#0000ff;text-decoration:none;} --> <!-- #ygrp-sponsor #ygrp-lc{ font-family:Arial;} #ygrp-sponsor #ygrp-lc #hd{ margin:10px 0px;font-weight:bold;font-size:78%;line-height:122%;} #ygrp-sponsor #ygrp-lc .ad{ margin-bottom:10px;padding:0 0;} --> <!-- #ygrp-mlmsg {font-size:13px;font-family:arial, helvetica, clean, sans-serif;} #ygrp-mlmsg table {font-size:inherit;font:100%;} #ygrp-mlmsg select, input, textarea {font:99% arial, helvetica, clean, sans-serif;} #ygrp-mlmsg pre, code {font:115% monospace;} #ygrp-mlmsg * {line-height:1.22em;} #ygrp-text{ font-family:Georgia; } #ygrp-text p{ margin:0 0 1em 0;} #ygrp-tpmsgs{ font-family:Arial; clear:both;} #ygrp-vitnav{ padding-top:10px;font-family:Verdana;font-size:77%;margin:0;} #ygrp-vitnav a{ padding:0 1px;} #ygrp-actbar{ clear:both;margin:25px 0;white-space:nowrap;color:#666;text-align:right;} #ygrp-actbar .left{ float:left;white-space:nowrap;} .bld{font-weight:bold;} #ygrp-grft{ font-family:Verdana;font-size:77%;padding:15px 0;} #ygrp-ft{ font-family:verdana;font-size:77%;border-top:1px solid #666; padding:5px 0; } #ygrp-mlmsg #logo{ padding-bottom:10px;} #ygrp-reco { margin-bottom:20px;padding:0px;} #ygrp-reco #reco-head { font-weight:bold;color:#ff7900;} #reco-grpname{ font-weight:bold;margin-top:10px;} #reco-category{ font-size:77%;} #reco-desc{ font-size:77%;} #ygrp-vital{ background-color:#e0ecee;margin-bottom:20px;padding:2px 0 8px 8px;} #ygrp-vital #vithd{ font-size:77%;font-family:Verdana;font-weight:bold;color:#333;text-transform:uppercase;} #ygrp-vital ul{ padding:0;margin:2px 0;} #ygrp-vital ul li{ list-style-type:none;clear:both;border:1px solid #e0ecee; } #ygrp-vital ul li .ct{ font-weight:bold;color:#ff7900;float:right;width:2em;text-align:right;padding-right:.5em;} #ygrp-vital ul li .cat{ font-weight:bold;} #ygrp-vital a{ text-decoration:none;} #ygrp-vital a:hover{ text-decoration:underline;} #ygrp-sponsor #hd{ color:#999;font-size:77%;} #ygrp-sponsor #ov{ padding:6px 13px;background-color:#e0ecee;margin-bottom:20px;} #ygrp-sponsor #ov ul{ padding:0 0 0 8px;margin:0;} #ygrp-sponsor #ov li{ list-style-type:square;padding:6px 0;font-size:77%;} #ygrp-sponsor #ov li a{ text-decoration:none;font-size:130%;} #ygrp-sponsor #nc{ background-color:#eee;margin-bottom:20px;padding:0 8px;} #ygrp-sponsor .ad{ padding:8px 0;} #ygrp-sponsor .ad #hd1{ font-family:Arial;font-weight:bold;color:#628c2a;font-size:100%;line-height:122%;} #ygrp-sponsor .ad a{ text-decoration:none;} #ygrp-sponsor .ad a:hover{ text-decoration:underline;} #ygrp-sponsor .ad p{ margin:0;} o{font-size:0;} .MsoNormal{ margin:0 0 0 0;} #ygrp-text tt{ font-size:120%;} blockquote{margin:0 0 0 4px;} .replbq{margin:4;} -->

