Советы по Delphi


ListBox и Drag&Drop


Расположите на форме ListBox и Label. Установите свойство списка dragmode на dmAutomatic. Поместите следующую строку в обработчике события OnDragOver:

    Label1.Caption := IntToStr(Y);

Теперь запустите программу и тащите какой-либо элемент в направлении правого верхнего угла до верхней границы списка. Обратите внимание как изменяется координата Y - уменьшаясь, она принимает значение -1, когда курсор выходит за верхнюю границу. (Примечание - только что попробовал это в Delphi 5 - нижнее значение показало -2).

Теперь осталось только определить, около какого элемента списка находится курсор мыши, для чего используйте ItemAtPos. [000344]



Содержание раздела