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;}
-->
                


Reply via email to