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

ADN Club => Inventor API => Тема начата: glebShev от 13-06-2021, 14:57:17

Название: Определение состояние окна Inventor
Отправлено: glebShev от 13-06-2021, 14:57:17
Добрый день! Прошу прощения, не подскажете, есть ли возможность программного определения свернуто окно инвентора или нет. Написан addin на windows forms. Пользователю требуется работать в окне формы, переключаясь на окно inventor. Для это поставил на форму свойство, чтобы оно всегда было активным. Требуется при свертывании окна инвентора, форму тоже сворачивать. Можно ли как-то определить этот момент?

Спасибо!
Название: Re: Определение состояние окна Inventor
Отправлено: Александр Ривилис от 13-06-2021, 15:58:50
Как-то так наверное:
Код - C# [Выбрать]
  1. if (Application.WindowState == WindowsSizeEnum.kMinimize)
  2. {
  3.    // Окно минимизировано
  4. }
Название: Re: Определение состояние окна Inventor
Отправлено: mikazakov от 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

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