Сообщество программистов Autodesk в СНГ
ADN Club => AutoCAD .NET API => Тема начата: sergolga от 12-08-2017, 17:39:05
-
Всем дорого времени суток.
Есть необходимость "отлавливать"/"перехватывать" координаты, вводимые пользователем путем нажатия левой клавиши мышки. То есть не запрашивать их у пользователя для целей программы (через, например, GetPoint), а наоборот, как только пользователь выбрал мышкой точку на экране (в смысле в чертежной зоне, а не скажем по менюшке), их (координаты выбранные пользователем) нужно отправить в мою программу для дальнейшей обработки. Я могу отловить клик мышкой (через PreTranslateMessageEvent, например); могу отслеживать смену координат при движении курсора по экрану (через PointMonitorEventHandler). Но никак не могу понять, каким образом обработать событие: клиент кликнул правой кнопкой и вот они координаты его клика. Предвосхищая предложения посмотреть в сторону GetPoint, скажу сразу - не подойдет ни в коем случае. Мой обработчик записывает последовательность действий пользователя, а не диктует ему, что нужно сделать! А переписывать все функции автокада, ради того, чтобы уйти от решения задачки по отслеживанию самостоятельных кликов пользователя - вообще не вариант.
Наткнулась на PointInputEventHandler (вот здесь: http://through-the-interface.typepad.com/through_the_interface/2012/09/creating-reactive-transient-autocad-geometry-using-net.html), подозреваю, что это то что, мне нужно, но как начинающая не могу правильно применить. Может кто-нибудь поможет или направит в правильную сторону. Вдруг вообще не там рою. Заранее премного благодарна.
-
Смотрите в сторону PointMonitorEventHandler
-
Спасибо за ответ и намек. Просмотрела все свойства PointMonitorEventHandler и LastPoint вполне удовлетворил :) моей задаче.