Как проверить и закрыть панель свойств через плагин

Автор Тема: Как проверить и закрыть панель свойств через плагин  (Прочитано 19903 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Отмечено как Решение miss 25-08-2020, 10:07:57

Оффлайн missАвтор темы

  • ADN OPEN
  • Сообщений: 8
  • Карма: 3
Итого! Что получилось:

Я работала с Нависом русско- и англоязычной версии 2020. До окна свойств можно добраться двумя путями: через Spy++/user32.dll и через Ribbon (нужна библиотека AdWindow.dll).
Извините, вам запрещён просмотр содержимого спойлеров.


Почему пришлось идти двумя путями: Spy++ обнаруживает окно свойств, если оно находится в плавающем режиме, либо закреплено в каком-либо углу. Но, если окно в режиме auto-hide, шпион его не видит и работу плагина окно притормаживает. Опять же способ рабочий, если нигде не открыто никакое самостоятельное окно/программа/приложение с таким же названием.

Через Ribbon проще, если предположить, что в нужной нам вкладке ничего не сдвигалось и не переименовывалось. Просто находим нужную кнопку и проверяем активна она или нет. Хотелось бы и отключать/включать её через свойство IsActive, но хоть false свойству вроде как присваивается, кнопка остаётся активной, а окно открытым (не поняла почему, есть предположения?). Поэтому закрываю/открываю через Shift + F7.

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

Ну и, собственно, сам код:

Проверка через Ribbon и вкл/выкл из главного класса:
Извините, вам запрещён просмотр содержимого спойлеров.

Класс Spy++
Извините, вам запрещён просмотр содержимого спойлеров.
« Последнее редактирование: 25-08-2020, 12:35:29 от miss »

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение