Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.04.2006, 14:06
olegn вне форума Посмотреть профиль Отправить личное сообщение для olegn Найти все сообщения от olegn
  № 1  
Ответить с цитированием
olegn
 
Аватар для olegn

Регистрация: Jan 2006
Адрес: El Paso
Сообщений: 201
Question конфликтуют скроллинг у TextField и ScrollPane

Добрый день. Вот такая задача:
у меня внутри компонента ScrollPane образуется несколько TextField. Я могу включить некий режим, когда их type становится input. Далее я редактирую имеющийся в них текст, в том числе добавляю новый.
Проблема:когда я работаю с текстом внутри этого поля и использую колесико мыши для прокрутки текста, у меня также начинает работать и скроллинг ScrollPane. А я этого не хочу , мне нужно, чтобы в режиме редактирования полей скроллинг ScrollPane не отзывался на колесико мыши. И наоборот, когда я программно выполняю выход из этого режима редактирования, то ScrollPane начинает "чувствовать" колесико.
Я пробовал "в лоб", а именно: устанавливал для ScrollPane
Код:
my_sp.vScrollPolicy="off"
при входе в режим редактирования и
Код:
my_sp.vScrollPolicy="auto"
обратно.
Но работает корректно, только если на момент входа в редактирование скроллинг у ScrollPane имеет позицию 0, т.е. не задействуется. Если же для достижения редактируемого текстового поля нужно "добираться" скроллингом, то этот подход глючит конкретно.
Резюмирую свой вопрос так, чтобы его решение можно было использовать в любых ситуациях:
Как отключать и включать в режиме runtime чувствительность к колесику мыши у компонента ScrollPane, при этом не удаляя сам движок прокрутки из ScrollPane?
__________________
No war, make Flash.

Старый 07.04.2006, 15:03
olegn вне форума Посмотреть профиль Отправить личное сообщение для olegn Найти все сообщения от olegn
  № 2  
Ответить с цитированием
olegn
 
Аватар для olegn

Регистрация: Jan 2006
Адрес: El Paso
Сообщений: 201
Ау, кто-нибудь?
__________________
No war, make Flash.

Старый 07.04.2006, 15:35
MIX-er вне форума Посмотреть профиль Отправить личное сообщение для MIX-er Найти все сообщения от MIX-er
  № 3  
Ответить с цитированием
MIX-er
 
Аватар для MIX-er

Регистрация: Jun 2005
Сообщений: 612
Отправить сообщение для MIX-er с помощью ICQ Отправить сообщение для MIX-er с помощью Yahoo
на сколько я понял те нужно обновлять контент в скролл пейне...

почитай в хелпе там прекрасные примеры есть...
__________________
Best regards, Boris Petrov

Старый 07.04.2006, 18:05
KPaul вне форума Посмотреть профиль Отправить личное сообщение для KPaul Найти все сообщения от KPaul
  № 4  
Ответить с цитированием
KPaul
 
Аватар для KPaul

Регистрация: Nov 2005
Сообщений: 221
Один из вариантов расширить ScrollPane и добавить интерфейс по блокированию/разблокированию колеса. Там он вроде реализован евент листенером. Короче, если расширить, то можно делать по разному...

Старый 07.04.2006, 18:19
olegn вне форума Посмотреть профиль Отправить личное сообщение для olegn Найти все сообщения от olegn
  № 5  
Ответить с цитированием
olegn
 
Аватар для olegn

Регистрация: Jan 2006
Адрес: El Paso
Сообщений: 201
Цитата:
Сообщение от MIX-er
на сколько я понял те нужно обновлять контент в скролл пейне...

почитай в хелпе там прекрасные примеры есть...
Про help спасибо. Только это не моя проблема - обновлять контент в ScrollPane. Ничего мне не нужно обновлять. Мне хочется прокручивать колесиком текст в текстовом поле, чтобы при этом не прокручивалось ScrollPane!
__________________
No war, make Flash.

Старый 07.04.2006, 18:21
olegn вне форума Посмотреть профиль Отправить личное сообщение для olegn Найти все сообщения от olegn
  № 6  
Ответить с цитированием
olegn
 
Аватар для olegn

Регистрация: Jan 2006
Адрес: El Paso
Сообщений: 201
To KPaul: Прежде всего спасибо, что откликнулся. Да, это верный вариант. Только я не знаю, как расширять компоненты версии 2.0, которые используются в Flash8. Ранее было просто, открываешь код компонента, и все ок. Но тут ведь компоненты уже как скомпилированные клипы в библиотеке присутствуют, их не откроешь?
__________________
No war, make Flash.

Старый 07.04.2006, 19:29
KPaul вне форума Посмотреть профиль Отправить личное сообщение для KPaul Найти все сообщения от KPaul
  № 7  
Ответить с цитированием
KPaul
 
Аватар для KPaul

Регистрация: Nov 2005
Сообщений: 221
Тут ты не прав, все фла компонентов находятся примерно здесь:C:\Program Files\Macromedia\Flash 8\en\Configuration\ComponentFLA
Я бы сделал так:
1. Скопировал бы оригинальный фла куда-нибудь или туда же с другим именем.
2. Продублировал компонент ScrollPane в либе.
3. Написал бы для начала пустой класс типа ScrollPaneExtended и изменил
linkage и component definition в контектном меню продублированного символа в либе, вставляя путь к классу.
4. Затем, внутри этого символа на ВТОРОМ кадре создал бы пустой клип и установил для него только галочку Export for ActionScript в linkage и указал путь к классу оригинального ScrollPane. Для того чтобы при компиляции он был включен в символ, для корректного расширения.
5. Из контекстного меню выбрал бы Convert to Compiled Clip. И получил скомпилиный мувик который можно перетаскивать куда угодно и юзать.

Вроде все...
Если все корректно в трэйсе ничего не появится. Теперь можно играться с ScrollPaneExtended, перегружая любые методы, добавляя новые...
ps можно также создать внешний swc файл с этим компонентом.


Последний раз редактировалось KPaul; 07.04.2006 в 19:31.
Старый 07.04.2006, 19:40
olegn вне форума Посмотреть профиль Отправить личное сообщение для olegn Найти все сообщения от olegn
  № 8  
Ответить с цитированием
olegn
 
Аватар для olegn

Регистрация: Jan 2006
Адрес: El Paso
Сообщений: 201
Да, спасибо. Хороший вариант. Буду пробовать.
А чтобы перегрузить внутренний метод компонента, надо знать, как он называется
Это трассировкой узнавать?
__________________
No war, make Flash.

Старый 07.04.2006, 19:47
KPaul вне форума Посмотреть профиль Отправить личное сообщение для KPaul Найти все сообщения от KPaul
  № 9  
Ответить с цитированием
KPaul
 
Аватар для KPaul

Регистрация: Nov 2005
Сообщений: 221
)) Зачем трассировка, если все классы у тебя на машине?
Открой класс ScrollPane и посмтри что там и к чему, на самом деле ничего сверхестественного. Ну и напоследок - пакет MM классов примерно здесь:C:\Documents and Settings\Твоё имя на машине\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\mx

Старый 07.04.2006, 19:49
olegn вне форума Посмотреть профиль Отправить личное сообщение для olegn Найти все сообщения от olegn
  № 10  
Ответить с цитированием
olegn
 
Аватар для olegn

Регистрация: Jan 2006
Адрес: El Paso
Сообщений: 201
По умолчанию спасибо

Да, верно. Пора на сегодня отдохнуть.
Еще раз спасибо.
__________________
No war, make Flash.

Создать новую тему Ответ Часовой пояс GMT +4, время: 10:34.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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