Предварительный просмотр таблиц

Автор Тема: Предварительный просмотр таблиц  (Прочитано 4234 раз)

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

Оффлайн Александр Пекшев aka ModisАвтор темы

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Вроде не сталкивался нигде с таким, но спрошу на всякий случай
При вставке таблицы в окошке есть поле Просмотр:



Есть ли программный доступ к этому элементу?
Может есть какие-то варианты сделать такой элемент самому?

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Предварительный просмотр таблиц
« Ответ #1 : 06-01-2019, 14:26:40 »
Кроме этого ничего в голову не приходит: http://adn-cis.org/prosmotr-chertezha-v-wpf-palitre.html
Но это будет очень непросто.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Пекшев aka ModisАвтор темы

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Re: Предварительный просмотр таблиц
« Ответ #2 : 06-01-2019, 14:30:47 »
Кроме этого ничего в голову не приходит: http://adn-cis.org/prosmotr-chertezha-v-wpf-palitre.html
Но это будет очень непросто.
Да, видел это. Но это не подходит по двум причинам:
1. Работает только с версии 2015 и выше
2. На скриншоте превью генерируется из стиля таблицы. Т.е. таблица никуда ещё не вставлена Не важно, в принципе)
Видимо нет ничего подходящего

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Предварительный просмотр таблиц
« Ответ #3 : 06-01-2019, 14:36:43 »
1. Работает только с версии 2015 и выше
Это пример сделан для версии 2015. А так должно работать и на более ранних версиях.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Пекшев aka ModisАвтор темы

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Re: Предварительный просмотр таблиц
« Ответ #4 : 06-01-2019, 14:39:01 »
1. Работает только с версии 2015 и выше
Это пример сделан для версии 2015. А так должно работать и на более ранних версиях.
Я проверял - не работает. Там какие-то методы использованы, которые добавлены в 2015 версии. Возможно есть аналоги и в версиях ниже, но я не стал разбираться) В принципе имею неприязнь к Windows.Forms :)

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Предварительный просмотр таблиц
« Ответ #5 : 06-01-2019, 14:48:33 »
Александр Пекшев aka Modis,
Нашел такой класс: Autodesk.AutoCAD.Internal.TableStylePreview в acmgd.dll
Можешь поэкспериментировать.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Пекшев aka ModisАвтор темы

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Re: Предварительный просмотр таблиц
« Ответ #6 : 06-01-2019, 19:55:06 »
Александр Пекшев aka Modis,
Нашел такой класс: Autodesk.AutoCAD.Internal.TableStylePreview в acmgd.dll
Можешь поэкспериментировать.
Да, судя по членам класса - это вот прям оно самое. Жаль, но заставить его заработать я не смог. При банальном вот таком коде:
Код - C# [Выбрать]
  1. [CommandMethod("TablePreviewTest")]
  2. public void TestCommand()
  3. {
  4.     try
  5.     {
  6.         ShowWindow();
  7.     }
  8.     catch (Autodesk.AutoCAD.Runtime.Exception exception)
  9.     {
  10.         MessageBox.Show(exception.Message + Environment.NewLine + exception.StackTrace);
  11.     }
  12. }
  13.  
  14. private static void ShowWindow()
  15. {
  16.     Autodesk.AutoCAD.Internal.TableStylePreview tableStylePreview = new TableStylePreview();
  17.     tableStylePreview.Width = 250;
  18.     tableStylePreview.Height = 250;
  19.     tableStylePreview.DataText = "This is data text";
  20.     tableStylePreview.TitleText = "This is title text";
  21.    
  22.     Form1 form1 = new Form1();
  23.  
  24.     form1.Controls.Add(tableStylePreview);
  25.  
  26.     form1.ShowDialog();
  27.    
  28. }

фаталит автокад. Причем открывается форма в которой я вижу белый квадрат 250х250 и сразу все зависает и фаталит.
Попытка добавить контрол в WindowsFormsHost также приводит к моментальному фаталу.

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Предварительный просмотр таблиц
« Ответ #7 : 06-01-2019, 21:24:33 »
Мои попытки пока тоже ни к чему хорошему не привели. Вполне возможно, что этот класс не рабочий. Я задал вопрос в ADN DevHelp, но на положительный ответ не рассчитываю - класс для внутреннего использования.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Предварительный просмотр таблиц
« Ответ #8 : 06-01-2019, 21:45:42 »
Еще вот этот метод может помочь: Autodesk.AutoCAD.Internal.Utils.InvokeTableStyleDialog
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Пекшев aka ModisАвтор темы

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Re: Предварительный просмотр таблиц
« Ответ #9 : 07-01-2019, 11:56:29 »
Еще вот этот метод может помочь: Autodesk.AutoCAD.Internal.Utils.InvokeTableStyleDialog
Посмотрел - этот метод вызывает диалог выбора табличного стиля для вставки. Тот же самый, что вызывается командой _table. Не то
Придется пока по старинке - делать png картинки (