Привязка курсора мыши к строке в пользовательском элементе управления Delphi

Мне интересно, как я могу добиться горизонтальной (или вертикальной) привязки курсора мыши к линии. Например, в функции временной шкалы Facebook, когда вы наводите указатель мыши на линию вниз по центру, курсор привязывается к центру. Если поднести мышь к линии, она также будет защелкнута.

Я бы хотел заключить это в один настраиваемый элемент управления, а не в элементы управления формы. Будет либо вертикальная, либо горизонтальная линия, и она должна привязать к ней курсор мыши, когда приблизится к ней. Я буду добавлять события, которые возвращают позицию строки, по которой был выполнен щелчок.Этот элемент управления также будет иметь полосу прокрутки, вертикальную или горизонтальную, параллельную этой линии, и обе полосы прокрутки никогда не будут отображаться одновременно. Существует главное свойство, отображать ли эту линию по вертикали или по горизонтали .

Мышь не должна на самом деле перемещать позицию, но нужно как-то настроить отображение курсора, чтобы отображать его в центре этой строки, в то время как фактическое положение X (или Y) никогда не меняется. Я не хочу перемещать курсор, я хочу, чтобы отображал курсор в центре этой строки, если он приблизится. Пока курсор находится в этой привязанной позиции, он будет отображать другой пользовательский курсор вместо стандартной (или стрелки по умолчанию).

Все, что мне нужно знать, это как обрабатывать в этом элементе управления событие, когда указатель мыши приближается к этой строке, и настраивать отображение курсора в центре этой строки.

0
задан Jerry Dodge 17 February 2012 в 02:01
поделиться