Ограничить область перемещения мыши в гибком приложении - PullRequest
0 голосов
/ 03 мая 2011

В моем гибком приложении мне нужно ограничить перемещение мыши в определенной области. Другими словами, я хочу создать «зону без входа» для мыши в приложении.решение для меня.

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" minWidth="955" minHeight="600">

    <mx:Script>
        <![CDATA[
            protected function canvas2_mouseMoveHandler(event:MouseEvent):void
            {
                trace('mouse moved inside');//this trace should not be executed.
            }

        ]]>
    </mx:Script>

    <mx:Canvas x="250" y="180" backgroundColor="white" height="300" width="400" mouseMove="canvas2_mouseMoveHandler(event)">
        <mx:Text text="Mouse Entry not allowed"/>
    </mx:Canvas>
</mx:Application>

Ответы [ 2 ]

1 голос
/ 03 мая 2011

Вы не можете программно позиционировать (поэтому не исправить) курсор мыши во Flex (как указал Алекс Харуи в этом ответе ).

Хотя, вы можете попробовать для этого подхода .
Отслеживая мышью x | y, вы можете

  1. навести курсор на последний включенный положение при входе в ограниченный холст (+ скрыть его) и
  2. убрать нарисованный курсор на событие mouseOut (+ показать курсор).

Чтобы ограничить перетаскивание в Canvas, просто установите для него свойство dragEnter (обработчик событий):

dragEnter="event.stopImmediatePropagation();"

Здесь вы можете увидеть некоторые примеры , включающие и отключающие операции перетаскивания

0 голосов
/ 03 мая 2011

Мы можем не контролировать / задавать положение мыши. Из Flex / ActionScript

, но мы можем сделать Canvas Свойства мыши в разумных пределах

т.е. когда мы наведем указатель мыши на , это не вызовет событие .свойства

mouseChildren="false"
mouseEnabled="false"

Надежды, которые помогают

...