Не-COM свойства со списком возможных значений

Автор Тема: Не-COM свойства со списком возможных значений  (Прочитано 8697 раз)

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

Оффлайн Александр РивилисАвтор темы

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

Оффлайн Dziubyna

  • ADN Club
  • Сообщений: 41
  • Карма: 4
  • Skype: andriy.dziubyna
Можно ли через «Не-COM свойства» добавить в палитру свойств CustomEntity едит+кнопку или саму кнопку, которая будет выполнять какой-то расчет, вызывать диалог (как для изменения масштаба типа линии в свойствах линии) или бросать на выполнение команду?
Ранее под AutoCAD 2009 реализовал такой функционал через COM, сейчас такое же нужно для другой CustomEntity. Поэтому интересуюсь можно ли сейчас сделать это попроще?
Спасибо!  :)
« Последнее редактирование: 10-12-2014, 18:18:51 от Dziubyna »

Оффлайн Александр РивилисАвтор темы

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
вызывать диалог (как для изменения масштаба типа линии в свойствах линии)
Ты про кнопку которая вызывает калькулятор? Но это происходит для любого цифрового поля.
Если же ты имеешь в виду вызов диалога, то сходу я не нашел такой возможности в не-COM свойствах. Могу спросить в ADN DevHelp если ты сформулируешь вопрос почетче. Например: "Можно ли средствами не-COM свойств поместить на Панель свойств кнопку, вызывающую диалог"
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Dziubyna

  • ADN Club
  • Сообщений: 41
  • Карма: 4
  • Skype: andriy.dziubyna
Буду очень благодарен если спросите.
Да, это именно то что мне нужно: «Можно ли средствами не-COM свойств поместить на Панель свойств кнопку, вызывающую диалог»
Еще кнопки есть для гиперссылки и для указания точки на чертеже. Хотелось бы узнать можно ли самому через не-COM свойства добавлять такие свойства для пользовательского объекта.
Спасибо!
« Последнее редактирование: 11-12-2014, 09:35:48 от Dziubyna »

Оффлайн Александр РивилисАвтор темы

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

Оффлайн Александр РивилисАвтор темы

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

Оффлайн Dziubyna

  • ADN Club
  • Сообщений: 41
  • Карма: 4
  • Skype: andriy.dziubyna
Спасибо. Придется писать через COM.
А можно через не-COM свойства сделать свойство readonly, то есть только для отображения чтобы пользователь не мог его изменять?
Где можно прочитать какие типи данных можно выводить в свойствах объекта?


Оффлайн Александр РивилисАвтор темы

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

Оффлайн Александр РивилисАвтор темы

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Где можно прочитать какие типи данных можно выводить в свойствах объекта?
Ну в явном виде в документации это нет. Зато есть Перезентация (DevTV): Не-COM система свойств
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Dziubyna

  • ADN Club
  • Сообщений: 41
  • Карма: 4
  • Skype: andriy.dziubyna
Извините, не нашел этих статей.
Спасибо.

Оффлайн avc

  • ADN Club
  • *****
  • Сообщений: 822
  • Карма: 166
    • Мои плагины к Автокаду
У меня по этой старой теме еще возник вопрос: нет ли у этих динамических свойств какого-нибудь атрибута, чтоб задать не только локализованое имя свойства но и глобальное, английское?
Мне это нужно т.к. я заметил что с этими свойствами прекрасно работают Поля автокада. Это очень удобно. Но хотелось бы чтоб Автокад отображал в OPM локализованое имя, а поля срабатывали по английскому свойству. Так программировать создание полей проще и срабатывать они будут независимо от локализации. Как у всех команд Автокада есть 2 имени, local и global.

Оффлайн Александр РивилисАвтор темы

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