Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TListBox


Spinu Oleg ©   (2005-09-26 18:43:00) 

Есть компонент TListBox.
Как можно узнать над каким элементом (item) списка в данный момент находится курсор мыши.


Fay   (2005-09-27 18:05:00) [1]

2 Spinu Oleg   (27.09.05 17:40) [2]
>> Trunc(plb.Y/h);
div не прокатит?


Spinu Oleg   (2005-09-27 17:40:00) [2]

Сам разобрался. Вот ответ.

 // Индекс первого видимого элемента в списке
 TopIndex := SendMessage(lb.Handle, LB_GETTOPINDEX,0,0) ;
 // Позиция курсора мыши относительно экрана
 GetCursorPos(pMouse);
 // Позиция курсора мыши оносительно верхнего угла
 pLb := lb.ScreenToClient(pMouse);
 // Высота элемента списка
 h := lb.ItemHeight;
 // Номер элемента над которым в данный момент находится мышь
 ItemIndex := TopIndex+Trunc(plb.Y/h);


Leonid Troyanovsky   (2005-09-26 18:59:00) [3]


> Spinu Oleg   (26.09.05 18:43)  
> Есть компонент TListBox.
> Как можно узнать над каким элементом (item) списка в данный
> момент находится курсор мыши.


Например, в OnMouseMove - ItemAtPos.

--
Regards, LVT.


Наверх

Титульная страница Поиск, карта сайта Написать письмо