Собственная панель инструментов встроенная в окно Autocad

Автор Тема: Собственная панель инструментов встроенная в окно Autocad  (Прочитано 7445 раз)

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

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

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

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1
Здравствуйте!
Подскажите, пожалуйста способ как можно окно WinForms сделать в виде palette? То есть нужна закрепленная в окне Autocad панель с набором кнопок и контролов (не ленточный тулбар).

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Интегрирование формы WinForm в окно AutoCAD:  https://adn-cis.org/forum/index.php?topic=7451
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1
ps = new PaletteSet("Name", new Guid("63B8DB5B-10E4-4924-B8A2-A9CF9158E4F6"));
А где взять guid если окно встроено в большое решение? Или окно нужно сделать отдельной dll?

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
А где взять guid если окно встроено в большое решение?
Сгенерировать. Например, здесь: https://www.guidgenerator.com/online-guid-generator.aspx
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1
Сгенерировать. Например, здесь: https://www.guidgenerator.com/online-guid-generator.aspx
ok. GUID я сгенерировал, но он никак не связан с моей формой. Как мне связать их? Можно мне чуть подробнее план действий, я впервые сталкиваюсь с такой задачей (панелями)?

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 737
Ничего не надо связывать. Просто сгенерированный Guid передаётся конструктору PaletteSet. Это будет идентификатором этой палитры. По этому идентификатору сохраняются её настройки между сеансами в профиле пользователя.

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

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1
Ничего не надо связывать. Просто сгенерированный Guid передаётся конструктору PaletteSet. Это будет идентификатором этой палитры. По этому идентификатору сохраняются её настройки между сеансами в профиле пользователя.
А откуда Autocad поймет какую именно форму WinForm надо запустить? У меня их несколько. И еще - в примере в посте выше указан контрол, а у меня форма. Что в итоге надо создать для связывания-контрол или форму?

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 737
Насколько я помню, в палитру можно вставить только контрол. Так что .если требуется палитра - придётся переделать все формы в контролы. Если несколько форм -то надо делать либо несколько палитр (PaletteSet), либо несколько вкладок в одной палитре.

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

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1
придётся переделать все формы в контролы
То есть переделать с Winforms на WPF?

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

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1
Так что .если требуется палитра
Нужно что-то типа встроенного автокадовского quick калькулятора - набор кнопок, пара выпадающих списков и чтобы эту панель элементов можно было встраивать типа Allow Docking. Нажатие кнопок запускает команды из той же dll что и содержит в себе такую панельку. Может я просто выбрал не то средство реализации?


Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 737
UserControl есть и в WPF и в WinForms. Делать можно и тот и другой - оба они встраиваются в палитры. Инструмент выбрали правильно.

Отмечено как Решение Atomohod 13-12-2019, 22:54:50

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

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