![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в ListBox определить количество строк видимых на экране? [D6, Win2k]
Mishenka © (2005-12-13 20:01:00)Как в ListBox определить количество строк видимых на экране?
Leonid Troyanovsky (2005-12-14 09:31:00) [1]
> Mishenka (13.12.05 20:01)
> Как в ListBox определить количество строк видимых на экране?
Индекс верхней видимой строки:
t := ListBox.Perform(LB_GETTOPINDEX, 0, 0);
Индекс последней видимой строки:
with ListBox do
b := LoWord(Perform(LB_ITEMFROMPOINT, 0, MakeLParam(0, ClientHeight)));
--
Regards, LVT.
Джо (2005-12-14 01:21:00) [2]Если "строго" подходить, то нужно еще учитывать случай окончания списка, то есть, определять по остаток по TopIndex и концу списка и эту разницу учитывать в значении, определяемом begin...end.
begin...end (2005-12-13 20:18:00) [3]Думаю, что можно определить только приблизительно, "в лоб":
Count := Min(Round(ListBox.ClientHeight / ListBox.ItemHeight), ListBox.Count)