Добавление выпадающего списка (ComboBox) на Toolbar

Автор Тема: Добавление выпадающего списка (ComboBox) на Toolbar  (Прочитано 12036 раз)

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

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

  • ADN Club
  • Сообщений: 36
  • Карма: 1
Здравствуйте.
Стоит задача добавить в AutoCAD новый Toolbar, который будет содержать два выпадающих списка и несколько кнопок. Как я понял, обычно это рекомендуют делать с помощью создания дополнительного CUI-файла и его последующей подгрузки в AutoCAD. Сам CUI-файл можно создать как заранее, в CUI-редакторе AutoCAD, так и программно, с помощью класса CustomizationSection.
Вначале я решил попробовать CUI-редактор (файл придется создавать в любом случае - так какая разница, где). Сам Toolbar создается без проблем, с кнопками тоже все просто: достаточно создать новую команду, задать для нее имя, описание, иконку и т. д., а потом добавить на созданный Toolbar.
А вот с выпадающими списками вышла неувязка: их я среди доступных элементов не нашел.
Есть ли способ добавить их программно?
« Последнее редактирование: 31-08-2014, 22:45:44 от Alex »

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

  • Administrator
  • *****
  • Сообщений: 13918
  • Карма: 1793
  • Рыцарь ObjectARX
  • Skype: rivilis
А вот с выпадающими списками вышла неувязка: их я среди доступных элементов не нашел.
А что ты имеешь в виду под выпадающим списком? Что-то типа списка цветов, слоёв, типов линий, но не один из них? Тогда свой такой список ты создать в Toolbar не можешь. Только один из существующих.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • Сообщений: 36
  • Карма: 1
Да, именно их.
А что-то типа компонента Label (строки, которую можно будет программно изменять) на Toolbar добавить можно?

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

  • Administrator
  • *****
  • Сообщений: 13918
  • Карма: 1793
  • Рыцарь ObjectARX
  • Skype: rivilis
А что-то типа компонента Label (строки, которую можно будет программно изменять) на Toolbar добавить можно?
Нет. Во всяком случае средствами CUI API. Теоретически можно при помощи вских хуков, но это и на ObjectARX (C++) непросто, а уж при помощи C#/VB.NET и подавно. Подумай над палитрами (Palette), на которых можно разместить свои элементы управления, в том числе и выпадающие списки и т.д.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • Сообщений: 36
  • Карма: 1
Да, я тоже подумал об использовании Palette (нашелся в процессе поисков документик "Creating a Docking Palette for AutoCAD® with VB.NET" - думаю, подойдет в качестве отправной точки).
Либо, как вариант, можно сделать на тулбаре отдельную кнопку, по нажатию на которую открывается окно - а в нем уже выводятся выпадающие списки. Пусть заказчик решает, что удобнее.
Большое спасибо за помощь!

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

  • Administrator
  • *****
  • Сообщений: 13918
  • Карма: 1793
  • Рыцарь ObjectARX
  • Skype: rivilis
Либо, как вариант, можно сделать на тулбаре отдельную кнопку, по нажатию на которую открывается окно - а в нем уже выводятся выпадающие списки
Лично я бы предпочел именно этот вариант. Во всяком случае его легче расширять в случае необходимости добавлять новые поля. Да и не занимает место на рабочем поле чертежа.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • Сообщений: 36
  • Карма: 1
Мне и самому было бы так проще.  :)
Но загвоздка в том, что теряется интерактивность.
Грубо говоря, в моем случае выпадающие списки определяют то, какую группу объектов пользователь видит на чертеже.
Сейчас я комбобоксы отрисовываю на ленте (Ribbon), и поэтому сразу видно, с какой группой идет работа. Что будет, если это убрать, - я не знаю.
Посмотрим, что пользователи скажут. Ну или что заказчик решит.

Оффлайн Дима_

  • ADN Club
  • ****
  • Сообщений: 473
  • Карма: 66
Грубо говоря, в моем случае выпадающие списки определяют то, какую группу объектов пользователь видит на чертеже.
В этом точно, у "своих" окон, не должно быть проблем. ИХМО - при таком подходе минус только немного "не автокадовский" вид, в остальном - больше плюсов - рисуй что хочешь.

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

  • ADN Club
  • Сообщений: 36
  • Карма: 1
Да - с точки зрения программирования, конечно, удобнее.  :)