Определение состояние окна Inventor

Автор Тема: Определение состояние окна Inventor  (Прочитано 1924 раз)

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

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

  • ADN OPEN
  • Сообщений: 17
  • Карма: 0
Добрый день! Прошу прощения, не подскажете, есть ли возможность программного определения свернуто окно инвентора или нет. Написан addin на windows forms. Пользователю требуется работать в окне формы, переключаясь на окно inventor. Для это поставил на форму свойство, чтобы оно всегда было активным. Требуется при свертывании окна инвентора, форму тоже сворачивать. Можно ли как-то определить этот момент?

Спасибо!

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Определение состояние окна Inventor
« Ответ #1 : 13-06-2021, 15:58:50 »
Как-то так наверное:
Код - C# [Выбрать]
  1. if (Application.WindowState == WindowsSizeEnum.kMinimize)
  2. {
  3.    // Окно минимизировано
  4. }
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 751
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: Определение состояние окна Inventor
« Ответ #2 : 13-06-2021, 20:10:23 »
glebShev,
Я бы рекомендовал юзать окно-контейнер
https://drive.google.com/file/d/1b_7Cw9WY-9a5VWIux3hFMY4_kKOiHjYs/view

или юзать обертку через унаследованный интерфейс System.Windows.Forms.IWin32Window
 
Код - vb.net [Выбрать]
  1. #Region "hWnd Wrapper Class"
  2. ' This class is used to wrap a Win32 hWnd as a .Net IWind32Window class.
  3. ' This is primarily used for parenting a dialog to the Inventor window.
  4. '
  5. ' Пример вызова:
  6. ' myForm.Show(New WindowWrapper(m_inventorApplication.MainFrameHWND))
  7. '
  8. Public Class WindowWrapper
  9.    Implements System.Windows.Forms.IWin32Window
  10.    Public Sub New(ByVal handle As IntPtr)
  11.       _hwnd = handle
  12.    End Sub
  13.  
  14.    Public ReadOnly Property Handle() As IntPtr _
  15.      Implements System.Windows.Forms.IWin32Window.Handle
  16.       Get
  17.          Return _hwnd
  18.       End Get
  19.    End Property
  20.  
  21.    Private _hwnd As IntPtr
  22. End Class
  23. #End Region

Тогда ваше окно будет сворачиваться вместе с инвентором