Добавление формы с контролами в плагине для автокада
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > Добавление формы с контролами в плагине для автокада

Добавление формы с контролами в плагине для автокада

Ответ
Поиск в этой теме
Непрочитано 06.01.2024, 21:09 #1
Добавление формы с контролами в плагине для автокада
shand
 
Инженер проектировщик ЭОМ
 
Регистрация: 15.07.2020
Сообщений: 12

Как создавать панель, кнопки и через них выполнять определенные команды я понял и опробовал. Все получается ОК. Теперь как говорится аппетит приходит во время еды. Как добавлять форму с контролами: кнопки, листбоксы, чекбоксы. Чтобы эта форма появлялась при определенных условиях например по нажатию кнопки на панели? Сколько ресурсов перелопатил ничего не нашел. Может кто подскажет? Буду благодарен. Все реализую на C#, хотя VB NET привычнее.
Просмотров: 1412
 
Непрочитано 06.01.2024, 23:37
1 | #2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,408


В команде ACAD прописываешь нечто типа
var win = new ТвояФорма();
Application.ShowModalWindow(win);
А уж где и как ты будешь прописывать логику работы окна - вопрос немного другой.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 07.01.2024, 01:43
1 | #3
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Создание окна ничем не отличается от отдельного приложения. Нюанс в том, что вызывать отображение этого окна нужно через статические методы

WinForms
Autodesk.AutoCAD.ApplicationServices.Application.ShowModalDialog (UserForm) - модальный диалог
Autodesk.AutoCAD.ApplicationServices.Application.ShowModelessDialog (UserForm) - немодальный диалог (вместо него лучше палитры использовать, имхо).

WPF
Autodesk.AutoCAD.ApplicationServices.Application.ShowModalWindow (UserWindow) - модальный диалог
Autodesk.AutoCAD.ApplicationServices.Application.ShowModelessWindow (UserWindow) - немодальный диалог (про палитры выше говорил).

чтобы ваше окно получило ссылку на приложение акад как родительское окно, а акад знал об вашем окне.
Сергей812 вне форума  
 
Автор темы   Непрочитано 07.01.2024, 10:22
#4
shand

Инженер проектировщик ЭОМ
 
Регистрация: 15.07.2020
Сообщений: 12


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
А уж где и как ты будешь прописывать логику работы окна - вопрос немного другой.
Спасибо за подсказку все ОК. Что значит где прописывать логику работы окна? Наверное в классе формы как обычно. там и кнопки какие то будут и еще что то таблицы, листбоксы и т. д. Или еще какие то варианты есть более правильные если не трудно подскажите? Я так понимаю надо будет создать модель данных это списки или коллекции или дататабле в классе где пишется коды плагина и передавать их для отображения в интерфейс формы. Ну и работать соответственно с данными а на форме только отображать. данные после обработки использовать в классе плагина. Вот только не будут ли они уничтожаться после завершения транзакции? Если что то подправьте меня пожалуйста. Если можно то может какой ресурс где то встречали подскажите, чтобы наглядней было. Честно говоря не мог найти.
shand вне форума  
 
Непрочитано 07.01.2024, 14:03
1 | #5
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Цитата:
Сообщение от shand Посмотреть сообщение
Наверное в классе формы как обычно. там и кнопки какие то будут и еще что то таблицы, листбоксы и т. д. Или еще какие то варианты есть более правильные если не трудно подскажите? Я так понимаю надо будет создать модель данных это списки или коллекции или дататабле в классе где пишется коды плагина и передавать их для отображения в интерфейс формы. Ну и работать соответственно с данными а на форме только отображать. данные после обработки использовать в классе плагина. Вот только не будут ли они уничтожаться после завершения транзакции? Если что то подправьте меня пожалуйста. Если можно то может какой ресурс где то встречали подскажите, чтобы наглядней было. Честно говоря не мог найти.
что-то очень сумбурное...

Предположим, получили с чертежа какие то данные - и закрыли транзакцию (если использовали ее для получения данных). Затем отобразили на форме (WinForms?) полученные данные, что-то там с ними сделали и при подтверждении операции открываете новую транзакцию и вносите изменения в БД чертежа dwg. В общем, не держите открытой транзакцию без необходимости.
Сергей812 вне форума  
 
Непрочитано 07.01.2024, 20:31
#6
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,408


Offtop:
Цитата:
Сообщение от shand Посмотреть сообщение
Спасибо за подсказку все ОК. Что значит где прописывать логику работы окна? Наверное в классе формы как обычно. там и кнопки какие то будут и еще что то таблицы, листбоксы и т. д. Или еще какие то варианты есть более правильные если не трудно подскажите? Я так понимаю надо будет создать модель данных это списки или коллекции или дататабле в классе где пишется коды плагина и передавать их для отображения в интерфейс формы. Ну и работать соответственно с данными а на форме только отображать. данные после обработки использовать в классе плагина. Вот только не будут ли они уничтожаться после завершения транзакции? Если что то подправьте меня пожалуйста. Если можно то может какой ресурс где то встречали подскажите, чтобы наглядней было. Честно говоря не мог найти.
Ну мне лично прекрасно зашел MVVM, кто-то тащится от MVC, кому-то ничто кроме MVP не мило. Шаблонов проектирования ПО не так уж и много, но чтоб влезть хотя бы в один - это тема точно не для форума.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > Добавление формы с контролами в плагине для автокада



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как добавить панель с кнопками и другими элементами на ленту автокада в плагине на VB NET shand .NET 5 06.01.2024 21:01
Неотображение в модели автокада вставленной из эксель таблицы путем копирования Ctrl+C/Ctrl+V San-Miguel AutoCAD 4 09.10.2020 16:28
Корректное добавление путей в настройки Автокада (проверка существования пути) olga87 LISP 3 22.09.2020 20:51
Вписывание текстуры в грань произвольной формы hikkikamori AutoCAD 1 11.05.2009 00:13
Типовые проекты на малые архитектурные формы и элементы благ Esperansa Разное 1 24.04.2007 13:02