Панель с тремя кнопками в addin

Автор Тема: Панель с тремя кнопками в addin  (Прочитано 7762 раз)

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

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

  • ADN Club
  • **
  • Сообщений: 91
  • Карма: 0
  • Skype: niksasa1979
Добрый день. Есть кнопка для создания чертежа. Могу ли я создать панель с тремя кнопками: "чертеж dwg", "чертеж idw",  "Отмена", которая будет появляться после нажатия кнопки для создания нового чертежа?

Оффлайн Владимир Ананьев

  • ADN DevHelp
  • *
  • Сообщений: 148
  • Карма: 8
Re: Панель с тремя кнопками в addin
« Ответ #1 : 09-01-2014, 13:35:07 »


После нажатия кнопки “Drawing” Inventor генерирует событие типа FileUIEvents.OnFileNew со следующими свойствами:

FileUIEvents.OnFileNew
     DocumentType: kDrawingDocumentObject
     TemplateFileName: "C:\Users\Public\Documents\Autodesk\Inventor 2014\Templates\Standard.idw"
     Context: No context information
     HandlingCode: kEventNotHandled


Чтобы сделать то, что вы описываете, надо перехватить событие FileUIEvents.OnFileNew и, если DocumentType = kDrawingDocumentObject, то вывести пользователю свой диалог с новыми кнопками. 

Чтобы просмотреть цепочку генерируемых Инвентором событий, используйте утилиту EventWatcher из состава Inventor SDK.  Если вы установили DeveloperTools, то найдете ее в папке
C:\Users\Public\Documents\Autodesk\Inventor 2014\SDK\DeveloperTools\Tools\EventWatcher\

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

  • ADN Club
  • **
  • Сообщений: 91
  • Карма: 0
  • Skype: niksasa1979
Re: Панель с тремя кнопками в addin
« Ответ #2 : 09-01-2014, 14:22:36 »
Это не совсем то, что я хочу иметь.
Есть addin со свойствами и кнопками, сделанный в vbe2010. Допустим я в том же проекте создал форму windows, на ней разместил три кнопки. На каждую кнопку повесил код. Я же могу сделать так, чтобы после нажатия кнопки для создания чертежа загружалась форма с тремя кнопками?

Оффлайн Владимир Ананьев

  • ADN DevHelp
  • *
  • Сообщений: 148
  • Карма: 8
Re: Панель с тремя кнопками в addin
« Ответ #3 : 09-01-2014, 15:28:01 »
И опять сценарий неоднозначен.
>>… после нажатия кнопки для создания чертежа…<<
Какую кнопку вы имеете ввиду?
Если это одна из кнопок на вашей же форме, то ответ очевидный – просто открывайте другую свою форму для выбора типа чертежа.  См. в хелпе методы открытия формы.
http://msdn.microsoft.com/en-us/library/aa984358(v=vs.71).aspx

Если это штатная кнопка, показанная на картинке из первого ответа, тогда используйте описанный там метод.  Ваш AddIn должен как-то узнать, что юзер решил создать чертеж, а как это сделать?  Надо отслеживать событие FileUIEvents.OnFileNew, и если юзер решил создавать чертеж (т.е. вы видите соответствующий DocumentType) , то вы ему подсовываете свою форму для выбора типа чертежа.

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

  • ADN Club
  • **
  • Сообщений: 91
  • Карма: 0
  • Skype: niksasa1979
Re: Панель с тремя кнопками в addin
« Ответ #4 : 09-01-2014, 15:36:14 »
Если это одна из кнопок на вашей же форме, то ответ очевидный – просто открывайте другую свою форму для выбора типа чертежа.  См. в хелпе методы открытия формы.
http://msdn.microsoft.com/en-us/library/aa984358(v=vs.71).aspx
Именно этот случай. Спасибо, буду разбираться.

Оффлайн Владимир Ананьев

  • ADN DevHelp
  • *
  • Сообщений: 148
  • Карма: 8
Re: Панель с тремя кнопками в addin
« Ответ #5 : 09-01-2014, 15:40:19 »
Тогда вам требуется вариант открытия модального окна. 
См. в хелпе метод Form.ShowDialog. 
Поищите через Google русскую версию справки, она точно найдется.

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

  • ADN Club
  • **
  • Сообщений: 91
  • Карма: 0
  • Skype: niksasa1979
Re: Панель с тремя кнопками в addin
« Ответ #6 : 09-01-2014, 16:59:23 »
Тогда вам требуется вариант открытия модального окна. 
См. в хелпе метод Form.ShowDialog. 
Поищите через Google русскую версию справки, она точно найдется.
Решил не мучаться и поступить по-другому. Просто добавлю еще одну кнопку для создания другого типа чертежа. Спасибо.

Оффлайн Владимир Ананьев

  • ADN DevHelp
  • *
  • Сообщений: 148
  • Карма: 8
Re: Панель с тремя кнопками в addin
« Ответ #7 : 09-01-2014, 17:01:45 »
А действительно,  зачем умножать сущности без надобности ?