brunnengi Опубликовано 15 июля, 2014 Поделиться Опубликовано 15 июля, 2014 Здравствуйте. Имеем TVertScrollBox. Внутри у него лежат несколько штук TLayout'ов? У каждого TLayout на событие OnClick есть код запускающий анимацию. Когда нажимаем на TLayout, то он увеличивается в высоту. Проблема в том что, если я просто прокручиваю TVertScrollBox и пальцем упираюсь в TLayout, то срабатывает на нем анимация. Как исправить это, подскажите пожалуйста? Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 16 июля, 2014 Модераторы Поделиться Опубликовано 16 июля, 2014 выбери другое событие например OnMouseUp Цитата Ссылка на комментарий
0 brunnengi Опубликовано 17 июля, 2014 Автор Поделиться Опубликовано 17 июля, 2014 Не помогло. Как быть? Цитата Ссылка на комментарий
0 Nix0N Опубликовано 17 июля, 2014 Поделиться Опубликовано 17 июля, 2014 На OnMouseDown в TVertScrollBox отключаем обработку OnClick TLayout. На OnMouseUp TVertScrollBox - включаем обработку OnClick TLayout. OnMouseDown: TLayout.OnClick := nil; Или в событии TVertScrollBox.OnMouseDown присваиваем всем TLayout.Hitest := FALSE В событии TVertScrollBox.OnMouseUp все TLayout.HiTest := TRUE В общем решений масса. Цитата Ссылка на комментарий
0 brunnengi Опубликовано 17 июля, 2014 Автор Поделиться Опубликовано 17 июля, 2014 Ну такой вариант я тоже видел. Да и можно просто на отслеживание скроллинга. Т.е. если скроллинг произошел, значит не обрабатываем нажатие, а если скролинга не было, значит пользователь тыкнул пальцем. Просто хотел знать, есть ли решение одной галки. Цитата Ссылка на комментарий
0 Nix0N Опубликовано 17 июля, 2014 Поделиться Опубликовано 17 июля, 2014 Каким образом собираетесь отслеживать событие скрола ? В FM пока еще отсутствует система сообщений. Цитата Ссылка на комментарий
0 brunnengi Опубликовано 17 июля, 2014 Автор Поделиться Опубликовано 17 июля, 2014 - Цитата Ссылка на комментарий
0 Администраторы Brovin Yaroslav Опубликовано 23 июля, 2014 Администраторы Поделиться Опубликовано 23 июля, 2014 Вы можете использовать OnTap для этих целей. Он вызовется, только когда было непосредственно нажатие, без сдвига пальца. Цитата Ссылка на комментарий
0 brunnengi Опубликовано 23 июля, 2014 Автор Поделиться Опубликовано 23 июля, 2014 Вы можете использовать OnTap для этих целей. Он вызовется, только когда было непосредственно нажатие, без сдвига пальца. Эмм.. Если не секрет, то где его искать? У моих Layout'ов нет такого события((( Цитата Ссылка на комментарий
Вопрос
brunnengi
Здравствуйте.
Имеем TVertScrollBox. Внутри у него лежат несколько штук TLayout'ов?
У каждого TLayout на событие OnClick есть код запускающий анимацию.
Когда нажимаем на TLayout, то он увеличивается в высоту.
Проблема в том что, если я просто прокручиваю TVertScrollBox и пальцем упираюсь в TLayout, то срабатывает на нем анимация.
Как исправить это, подскажите пожалуйста?
Ссылка на комментарий
8 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.