ListBox и Drag&Drop
Расположите на форме ListBox и Label. Установите свойство списка dragmode на dmAutomatic. Поместите следующую строку в обработчике события OnDragOver:
Label1.Caption := IntToStr(Y); |
Теперь запустите программу и тащите какой-либо элемент в направлении правого верхнего угла до верхней границы списка. Обратите внимание как изменяется координата Y - уменьшаясь, она принимает значение -1, когда курсор выходит за верхнюю границу. (Примечание - только что попробовал это в Delphi 5 - нижнее значение показало -2).
Теперь осталось только определить, около какого элемента списка находится курсор мыши, для чего используйте ItemAtPos. [000344]