Перейти к содержанию
Fire Monkey от А до Я
  • 0

[TScrollBox] Как определить конец зоны ScrollBox?


zekelive

Вопрос

Друзья, подскажите, кто сталкивался. На ScrollBox есть элементы. И хочу реализовать так, чтобы, когда пользователь пролистывал до самого конца ScrollBox, происходила дозагрузка контента. Собственно, как определить, что наступило окончание ScrollBox?

Ссылка на комментарий

Рекомендуемые сообщения

  • 0
  • Администраторы

Добрый вечер,

 

Используйте событие OnViewportPositionChanged. В параметрах передается позиция контента. Сравнивайте ее с размерами контента.

if NewViewportPosition.y = ScrollBox1.ContentBounds.Height - ScrollBox1.ClientHeight then
ShowMessage('Bottom');
Изменено пользователем Brovin Yaroslav
Добавлен код
Ссылка на комментарий
  • 0

Доброй ночи Ярослав,

примерно так? 

  procedure TForm1.ScrollBox4ViewportPositionChange(Sender: TObject;
  const OldViewportPosition, NewViewportPosition: TPointF;
  const ContentSizeChanged: Boolean);
  begin
  if(NewViewportPosition=ScrollBox4.ContentBounds.Height)
  then
Ссылка на комментарий
  • 0
  • Администраторы

Примерно. ViewPortPosition не может достигнуть высоты контента. ViewPortPosition - это смещение контента. Поэтому максимальное значение будет высота контента - высота окна (ClientHeight), то что видим

if NewViewportPosition.y = ScrollBox1.ContentBounds.Height - ScrollBox1.ClientHeight then
   ShowMessage('Bottom');
Ссылка на комментарий
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...