Вниз
Скачать: CL | DM;

Как в ListBox определить количество строк видимых на экране?   Найти похожие ветки 

 
Mishenka   (2005-12-13 20:01) [0]

Как в ListBox определить количество строк видимых на экране?


 
begin...end ©   (2005-12-13 20:18) [1]

Думаю, что можно определить только приблизительно, "в лоб":

Count := Min(Round(ListBox.ClientHeight / ListBox.ItemHeight), ListBox.Count)


 
Джо ©   (2005-12-14 01:21) [2]

Если "строго" подходить, то нужно еще учитывать случай окончания списка, то есть, определять по остаток по TopIndex и концу списка и эту разницу учитывать в значении, определяемом begin...end.


 
Leonid Troyanovsky ©   (2005-12-14 09:31) [3]


> 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.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.054 c
14-1134563918
BFG9k
2005-12-14 15:38
2006.01.15
Проблема с design time packages


14-1135083553
DeMoN-777
2005-12-20 15:59
2006.01.15
Рассеянность


2-1135298975
Majesto
2005-12-23 03:49
2006.01.15
Компонент DBGrid


2-1135583988
Rolf
2005-12-26 10:59
2006.01.15
Как узнать длину текста в пикселах на канве?


14-1135003361
GRAND25
2005-12-19 17:42
2006.01.15
Эстонцы тоже хочуть газу!




   Наверх