Редактировать текст внутри блока

Автор Тема: Редактировать текст внутри блока  (Прочитано 8804 раз)

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

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

  • ADN OPEN
  • ***
  • Сообщений: 106
  • Карма: 3
Можно ли создать такое поведение для текста внутри блока, чтобы пользователь мог его редактировать как обычный текст?

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

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 737
Re: Редактировать текст внутри блока
« Ответ #1 : 06-12-2020, 14:12:30 »
мог его редактировать как обычный текст
В каком смысле? Он и остаётся обычным. Заходишь в редактор блоков и редактируешь. В этом плане ничего не меняется. Или речь идёт про атрибуты? Но и они вроде достаточно просто редактируются.

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

  • ADN OPEN
  • ***
  • Сообщений: 106
  • Карма: 3
Re: Редактировать текст внутри блока
« Ответ #2 : 06-12-2020, 14:41:18 »
Имеется ввиду - текст находится внутри блока, но при этом поведение этого текста остается как будто то бы это просто текст ( не внутри блока). То есть при двойном щелчке по нему его можно отредактировать.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Редактировать текст внутри блока
« Ответ #3 : 06-12-2020, 15:40:11 »
Можно ли создать такое поведение для текста внутри блока, чтобы пользователь мог его редактировать как обычный текст?
Нет. И не нужно.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 737
Re: Редактировать текст внутри блока
« Ответ #4 : 06-12-2020, 16:21:22 »
Для этого как раз и сделаны атрибуты блока. Или они чем-то не устраивают?

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

  • ADN OPEN
  • ***
  • Сообщений: 106
  • Карма: 3
Re: Редактировать текст внутри блока
« Ответ #5 : 06-12-2020, 21:02:26 »
Для этого как раз и сделаны атрибуты блока. Или они чем-то не устраивают?
Не устраивают, тут выбор либо custom entity, либо что то с блоками колхозить, либо делать отдельное меню для редактирования.

Оффлайн Lemieux

  • ADN OPEN
  • ****
  • Сообщений: 389
  • Карма: 21
Re: Редактировать текст внутри блока
« Ответ #6 : 06-12-2020, 22:27:17 »
Для этого как раз и сделаны атрибуты блока. Или они чем-то не устраивают?
Не устраивают, тут выбор либо custom entity, либо что то с блоками колхозить, либо делать отдельное меню для редактирования.
А для чего это нужно?

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Редактировать текст внутри блока
« Ответ #7 : 06-12-2020, 22:34:37 »
Для этого как раз и сделаны атрибуты блока. Или они чем-то не устраивают?
Не устраивают, тут выбор либо custom entity, либо что то с блоками колхозить, либо делать отдельное меню для редактирования.
Ну custom entity - это совсем не C#. Да и слишком много мороки. Можешь поиграться с Overrule, но это тоже очень непросто. На С++ я делал что-то похожее, но не уверен, что в AutoCAD .NET API есть всё необходимое. И в результате изменение текста в блок приведёт к изменению его во всех вставках этого блока. У меня создавался клон блока, чтобы не портить оригинал.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 737
Re: Редактировать текст внутри блока
« Ответ #8 : 06-12-2020, 22:38:31 »
Не устраивают
Так а чем? Не понимаю смысла править текст внутри блока. Он же изменится для всех блоков в чертеже.
В теории, можно сделать такое. Подписаться на несколько событий, отслеживая клики по объектам и проверяя, попал ли этот клик на текст внутри блока. Если да, то запускать инструмент редактирования текста. Это может быть окошко WPF или WinForm. Но это очень проблемный путь.

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

  • ADN OPEN
  • ***
  • Сообщений: 106
  • Карма: 3
Re: Редактировать текст внутри блока
« Ответ #9 : 06-12-2020, 22:55:43 »
Не устраивают
Так а чем? Не понимаю смысла править текст внутри блока. Он же изменится для всех блоков в чертеже.
В теории, можно сделать такое. Подписаться на несколько событий, отслеживая клики по объектам и проверяя, попал ли этот клик на текст внутри блока. Если да, то запускать инструмент редактирования текста. Это может быть окошко WPF или WinForm. Но это очень проблемный путь.
По задумке, это должен быть обьект, геометрия которого меняется в зависимости от значения текста. И подразумевается, что именно такой объект будет один в чертеже. Поэтому менять в редакторе блоков - не подходит. Пока что думаю сделать окошко для редактирования текста.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Редактировать текст внутри блока
« Ответ #10 : 06-12-2020, 23:11:56 »
Пока что думаю сделать окошко для редактирования текс
Оно не нужно. InplaceTextEditor.Invoke тебе поможет.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 737
Re: Редактировать текст внутри блока
« Ответ #11 : 07-12-2020, 14:22:18 »
Всё равно, считаю, что атрибут для этой задачи будет лучше текста. Атрибут легче идентифицировать по тегу. Для редактирования атрибута уже есть все необходимые инструменты - меньше кодить надо будет.