Перейти к содержанию
  • Регистрация
  • 0
Winexcel

Получить список элементов которые сейчас видны

Вопрос

Здравствуйте! Знает ли кто как получить список TlistBoxItem'ов которые отображаются в данное время на форме? То есть в TListBox'е имеем примерно 1000 элементов, и он отображает около 10 за раз, можно ли как-то получить индексы отображаемых Item'ов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

  • 1

думаю, подойдет

a:=lst1.ItemByPoint(10,0);
b:=lst1.ItemByPoint(10,lst1.height);
 

Изменено пользователем krapotkin

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
  Y1 :=ListBox1.AniCalculations.ViewportPosition.Y;
  Y2 := ListBox1.AniCalculations.ViewportPosition.Y + ListBox1.Height;
  for I := 0 to ListBox1.Count-1 do
    if ListBox1.ListItems[i].IsVisible then
      if (ListBox1.ListItems[i].Position.Y>=Y1) and
          (ListBox1.ListItems[i].Position.Y<=Y2) then
          Caption := Caption +'|'+ IntToStr(i);

Альтернативный вариант с уточнением

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...