You might try bumping up from UIComponent to GroupBase and set 
mouseEnabledWhereTransparent = true;

-TH

--- In flexcoders@yahoogroups.com, Alex Harui <aharui@...> wrote:
>
> Something has to draw onto every pixel, otherwise the mouse hit passes 
> through to underneath.  You can set the alpha to 0 and it will still work.  
> You can also set background=true and pick a backgroundColor on the TextField 
> and not have to draw the fill.
> 
> 
> On 9/6/11 2:18 AM, "Nick Middleweek" <nick@...> wrote:
> 
> 
> 
> 
> 
> 
> OK, well I've settled with the white background for now...
> 
> 
> 
> 
> 
> On 5 September 2011 11:36, Nick Middleweek <nick@...> wrote:
> Hi,
> 
> We're using Flex 4 and have an Item Renderer that extends UIComponent.
> 
> We're adding a TextField that's added in createChildren().
> 
> In the Constructor(), I'm adding the listener:
> 
>            this.addEventListener(MouseEvent.MOUSE_OVER, this_onMouseOver);
> 
> 
> ...And in the listener function, I'm adding a button:
> 
>            indicator = new Button();
>             indicator.width = 20;
>             indicator.height = 20;
>             indicator.label = "...";
>             this.addChild(indicator);
> 
>             this.invalidateDisplayList();
> 
> 
> The problem is that the MouseOver event is ONLY firing when I mouse over the 
> TextField and not the 'background' of the IR.
> 
> If I draw a rectangle in updateDisplayList:
> 
>            // draw rect
>             this.graphics.beginFill(0xFF0000, 1);
>             this.graphics.drawRect(0, 0, unscaledWidth, unscaledHeight);
>             this.graphics.endFill();
> 
> ... the MouseOver event DOES fire on the red background.
> 
> Is there a way of achieving this without drawing a rectangle? I did think of 
> setting the rect to white but this doesn't seem like the correct approach.
> 
> 
> Thanks for any help...
> 
> Nick
> 
> 
> --
> Alex Harui
> Flex SDK Team
> Adobe System, Inc.
> http://blogs.adobe.com/aharui
>


Reply via email to