Событие колеса мыши не сработало на VBox - PullRequest
0 голосов
/ 25 мая 2011

У меня проблема с прокруткой колесика мыши на VBox.Когда мышь находится над любым компонентом в VBox или вертикальной полосой прокрутки, она работает нормально, но прокрутка не происходит, когда мышь находится над фоном VBox.

<mx:VBox width="100%" height="150">
   <s:Label text="A large label." height="100" />
   <s:Label text="A label." />
   <s:Label text="A label." />
   <s:Label text="A label." />
   <s:Label text="A label." />
   <s:Label text="A large label." height="100" />
   <s:Label text="A label." />
   <s:Label text="A label." />
   <s:Label text="A label." />
   <s:Label text="A label." />
</mx:VBox>

Я посмотрел код дляVBox и Container (который наследует VBox.) Контейнер добавляет слушатель MouseEvent.MOUSE_WHEEL к себе, когда существует вертикальная полоса прокрутки.Я установил точку останова в этой функции, но она вызывается, только когда моя мышь находится над подкомпонентом.

В качестве последней попытки я попытался установить mouseEnabled, focusEnabled и несколько других случайных свойств, но ни одно из них не помогло.

Кто-нибудь знает, как заставить VBox работать правильно и прокручивать, когда моя мышь находится над ним?Заранее спасибо.

(Переключение на искровой скроллер на данный момент не является возможным из-за нежелательного поведения привязки.)

Ответы [ 2 ]

2 голосов
/ 25 мая 2011

Ваша проблема - вы, возможно, догадались - в том, что MouseEvents не запускаются.Я подозреваю, что та же проблема с тем, что существует с FocusEvents.Контейнеры не отправляют эти события самостоятельно;они только получают события от своих детей;которые принимают события мыши и фокуса.

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

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

Год назад у нас была похожая проблема, что прокрутка колесика мыши не работала на TabNavigator. Нашел обходной путь здесь: https://bugs.adobe.com/jira/browse/FP-289 а также https://bugzilla.mozilla.org/show_bug.cgi?id=448567

Решение было очень простым: при запуске флеш-кода HTML убрал следующую строку:

"wmode", "transparent", 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...