Вниз
Скачать: 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.026 c
3-1132640801
TAN_K
2005-11-22 09:26
2006.01.15
ComboBox - не раскрвать список


14-1134870211
Джо
2005-12-18 04:43
2006.01.15
Хитроумный код - ваше отношение


14-1134736827
Иксик
2005-12-16 15:40
2006.01.15
А я сегодня посадил дерево!


3-1129099929
S@shka
2005-10-12 10:52
2006.01.15
Репликация FB + Delphi.... Варианты исполнения


1-1134320983
SergP
2005-12-11 20:09
2006.01.15
Работа с одной переменной в нескольких потоках.




   Наверх