Как заставить курсор мыши не двигаться при перетаскивании внутри собственного NSView? - PullRequest
3 голосов
/ 14 декабря 2011

У меня есть собственный NSView, и я хочу, чтобы пользователь мог щелкнуть и перетащить его внутрь.Конечно, NSView будет получать события перетаскивания мышью и реагировать соответствующим образом.Пока мышь перетаскивают, я хочу убедиться, что курсор мыши не двигается.

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

Ответы [ 2 ]

2 голосов
/ 12 декабря 2012

Хорошее решение - используйте функцию CGAssociateMouseAndMouseCursorPosition, чтобы включить / отключить перемещение курсора.

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

1 голос
/ 14 декабря 2011

Завершено наблюдение за событиями kCGEventLeftMouseDragged и последующим вызовом CGWarpMouseCursorPosition для сброса положения мыши.Курсор остается на месте все время перетаскивания.

...