ADN Open CIS
Сообщество программистов Autodesk в СНГ

31/08/2015

Реагирование на двойной щелчок мыши в Revit

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

Есть ли в Revit API соответствующие методы, для реализации задуманного?

Ответ: Revit API не предоставляет поддержку того, что вы описали.

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

Тем не менее, ничто на запрещает использовать Windows и .NET API для определения одинарного или двойного щелчка мыши и делать при этом все, что вам вздумается.

Однако, всегда следует помнить, что нужно находиться в правильном контексте, прежде чем вызывать функции Revit API.

Если вы будете использовать Windows API для определения события нажатия мыши, вы будете находиться за пределами разрешенного для вызова методов Revit API контекста. Поэтому вам нужно действовать точно также, как при работе с немодальным окном или как с доступом к Revit из внешней программы (на англ.)

Вполне возможно определить, что за элемент находится под курсором мыши, в тот момент, когда Revit API будет для вас доступно. Например, как описано в статье о работе с координатами Windows (на англ.)

Удачи с реализацией.

Источник: http://thebuildingcoder.typepad.com/blog/2015/07/clicks-dmu-surfaces-firerating-feedback-vacation.html#2

Автор перевода: Виктор Чекалин

Обсуждение: http://adn-cis.org/forum/index.php?topic=2962

Опубликовано 31.08.2015