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

Вернуться   Форум Flasher.ru > Flash > Flex

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

Регистрация: Apr 2007
Сообщений: 54
The bomb! реагирование на события контейнера и дочерних элементов

Суть вопроса такая:
Есть контейнер (VBox) , внутри которого есть дочерние элементы (кнопки, картинки, надписи).
Этот контейнер имеет 2 состояния (states) : одно при наведении на него мышки (он увеличивается в размере) и одно стандартное...
Изменение состояния контейнера привязано к событиям mouseOver и mouseOut.

Но получается такая штука, что при наведении мышки на дочерние компоненты контейнер реагирует на описанные выше события и меняет размеры.

Как этого избежать?

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

Регистрация: Apr 2007
Сообщений: 54
И заодно ещё вопрос,чтоб не создавать новую тему:
как сделать чтоб в увеличенном состоянии (при нахождении мышки внутри контейнера) VBox подсвечивался? как здесь http://www.vw.co.uk/used_cars/find
Заранее спасибо

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

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
event.stopPropagation в обработчике соответствующего события в дочернем элементе
__________________
33 коровы

Старый 04.10.2007, 15:16
Flashdown вне форума Посмотреть профиль Отправить личное сообщение для Flashdown Найти все сообщения от Flashdown
  № 4  
Ответить с цитированием
Flashdown

Регистрация: Apr 2007
Сообщений: 54
т.е. для каждого дочернего элемента создать по 2 обработчика событий и прописать в каждом event.stopPropagation ?

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


Последний раз редактировалось etc; 04.10.2007 в 16:59.
Старый 04.10.2007, 17:25
__i вне форума Посмотреть профиль Отправить личное сообщение для __i Найти все сообщения от __i
  № 5  
Ответить с цитированием
__i
 
Аватар для __i

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
Canvas в Canvas'e ) первый канвас имеет всегда один и тот же размер, второй внутри уже сам развлекаеться как может, хочет крутится хочет светится
__________________
33 коровы

Старый 04.10.2007, 17:45
Flashdown вне форума Посмотреть профиль Отправить личное сообщение для Flashdown Найти все сообщения от Flashdown
  № 6  
Ответить с цитированием
Flashdown

Регистрация: Apr 2007
Сообщений: 54
не понял... к чему это?)) может я не уловил всей сути Вашей фразы, но не догадываюсь как она связана с задачей смены state'a контейнера при наведении на него мышкой, не обращая внимания на дочерние компоненты

может кто-нибудь видел в интернете подобный пример с открытым исходным кодом?

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

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
это к тому что Box "слушает" своих детей на изменение размеров, ибо ему нужно под них подстроиться, но если сделать ребенка со статическими размерами а внутри него уже чудить всякое непотребство то VBox остаеться на месте
__________________
33 коровы

Старый 04.10.2007, 19:00
Flashdown вне форума Посмотреть профиль Отправить личное сообщение для Flashdown Найти все сообщения от Flashdown
  № 8  
Ответить с цитированием
Flashdown

Регистрация: Apr 2007
Сообщений: 54
т.е. Вы предлагаете все дочерние компоненты объединить в 1 канвас, который в свою очередь поместить в VBox ?

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

Регистрация: Apr 2007
Сообщений: 54
попробовал
1) поместить внутрь VBox'a Canvas со статическими размерами
2) просто поменять VBox на Canvas
- ничего не изменилось


Последний раз редактировалось Flashdown; 04.10.2007 в 19:12.
Старый 04.10.2007, 19:15
__i вне форума Посмотреть профиль Отправить личное сообщение для __i Найти все сообщения от __i
  № 10  
Ответить с цитированием
__i
 
Аватар для __i

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
Заиметь каджому дочернему компоненту свой канвас. Оберни их в канвасы а VBox пусть работает с этим канвасом, незная что там внутри
__________________
33 коровы

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

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

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


 


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


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