brunnengi Опубликовано 15 июля, 2014 Опубликовано 15 июля, 2014 Здравствуйте. Имеем TVertScrollBox. Внутри у него лежат несколько штук TLayout'ов? У каждого TLayout на событие OnClick есть код запускающий анимацию. Когда нажимаем на TLayout, то он увеличивается в высоту. Проблема в том что, если я просто прокручиваю TVertScrollBox и пальцем упираюсь в TLayout, то срабатывает на нем анимация. Как исправить это, подскажите пожалуйста? Цитата
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 16 июля, 2014 Модераторы Опубликовано 16 июля, 2014 выбери другое событие например OnMouseUp Цитата
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 Администраторы Brovin Yaroslav Опубликовано 23 июля, 2014 Администраторы Опубликовано 23 июля, 2014 Вы можете использовать OnTap для этих целей. Он вызовется, только когда было непосредственно нажатие, без сдвига пальца. Цитата
0 brunnengi Опубликовано 23 июля, 2014 Автор Опубликовано 23 июля, 2014 Вы можете использовать OnTap для этих целей. Он вызовется, только когда было непосредственно нажатие, без сдвига пальца. Эмм.. Если не секрет, то где его искать? У моих Layout'ов нет такого события((( Цитата
Вопрос
brunnengi
Здравствуйте.
Имеем TVertScrollBox. Внутри у него лежат несколько штук TLayout'ов?
У каждого TLayout на событие OnClick есть код запускающий анимацию.
Когда нажимаем на TLayout, то он увеличивается в высоту.
Проблема в том что, если я просто прокручиваю TVertScrollBox и пальцем упираюсь в TLayout, то срабатывает на нем анимация.
Как исправить это, подскажите пожалуйста?
8 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.