Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   проблема со скроллингом (http://www.flasher.ru/forum/showthread.php?t=116882)

neven 13.10.2008 14:46

проблема со скроллингом
 
делаю сайт своей конторе -> http://www.yaltanet.com.ua
наткнулся на "вродебы пустячную" проблемку, но при ближайшем
рассмотрении результатов гугла, хелпа и святого тыка, понял что без
криков "хелп" не обойтись.
Как сделать чтобы mouseWheel над любым объектом скролил Application,
с заданной скоростью?

P.S. это мое первое творение во Flex, поэтому просьба не пинать если что. На форуме ответа не нашел

fljot 13.10.2008 16:17

может аппликейшну добавить слушатель но mousewheel? причём для capture фазы и возможо даже сс каким-нибудь приоритетом

Air_mAn 13.10.2008 16:24

Цитата:

Сообщение от neven (Сообщение 770006)
Как сделать чтобы mouseWheel над любым объектом скролил Application, с заданной скоростью?

У объектов, которые наследуются от ScrollContorlBase (в вашем случае это какой-то текстовый компонент) надо переопределить протектный метод:

Код:

override protected function mouseWheelHandler(event:MouseEvent):void
    {  //super не вызывать }

поскольку в этом методе, если у компонента присутствует вертикальный скроллбар, вызывается event.stopPropagation(), что останавливает событие, и до Application оно не доходит. Добавить свой обработчик для Application и там задать скорость.

neven 13.10.2008 17:22

структура контейнеров такая
Код:

<application>
    <applicationControllBar>
        <SWFLoader, textInput, textInput, Button>
    <panel id="contentConteiner">
        <SWFLoader>
        <panel lablel="Главное меню">
            <linkButton>
            ...
            <linkButton>
        <panel label="Наши партнеры">
            <image>
            <linkButton>
            ...
            <image>
            <linkButton>
        <viewStack>
            <canvas>
              <textArea>
            <canvas>
              <textArea>
              <dataGrid>
            <canvas>
              <textArea>
              <dataGrid>
              <richTextEditor>
              <button>
              ...

насколько я понял надо переопределять mouseWheelHandler у всех текстовых компонент, какие есть в панели contentConteiner?

Air_mAn 13.10.2008 17:53

Цитата:

Сообщение от neven (Сообщение 770071)
насколько я понял надо переопределять mouseWheelHandler у всех текстовых компонент, какие есть в панели contentConteiner?

Да. Нужно отнаследоваться от textArea и помещать в Application свой компонент или его наследников.

neven 13.10.2008 18:42

тогда походу прийдется делать чтото громоздко - универсальное
типа этого:
Код:

<local:textWithoutWheel type="area|RTF|input|...">...

neven 13.10.2008 18:46

хотя нет - лучше для каждого такого контрола свой компонент создать без wheel
спасибо за совет :)


Часовой пояс GMT +4, время: 11:46.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.