[CDR 2017-2021] Выпадающий список в CorelDraw

  • Автор темы Автор темы Amok
  • Дата начала Дата начала
Ну тогда я не понимаю, какого именно интерактива хочет ТС и для чего?
Облегчить себе верстку? - Тогда задача программирования этого интерактива явно несоизмерима с полезностью результата.
Создать интерфейс, при помощи которого любой человек, не связанный с версткой и кодингом может быстро накидывать картинки? Тогда действительно проще через веб реализовать, чтоб на выходе некий скрипт автоверстки само генерировало.
 
  • Спасибо
Реакции: DukereD
Вам в данной фразе ничего странным не кажется? 'hmmm'
Я не программист, наверное, некорректно выразился
Имел ввиду вот что:
1. Запускаю приложение *.exe
2. Открывается командная строка с сообщением: "Введите модули:"
3. Человек вводит наименование модулей которые ему нужны
4. Программа создает JPG/PNG файл с уже сгенерированной картинкой, например, на рабочем столе.
P.S. Использую формат PNG/JPG поскольку PDF вроде как сложно реализовать.
В коде приложения указывается фон в формате картинки.
На фон накладываются модули, которые заранее отрисованы и сохранены в формате картинки.

Ну я и говорю - главное определиться, что будет на входе и на выходе. Консольное приложение с генерацией картинок - это одно. Но, судя по стартовому посту, человек все таки интерактивный ввод с гуем сделать хочет для чего то?

Судя по описанию это расположение элементов на DIN рейке, или что-то из такой же серии. Может даже и программирования задача не требует, накидать элементы из шаблона и выровнять не сильно долго даже при поверхностном знании программ.
Да, это DIN-рейка на которую крепится ПЛК (контроллер), к которому можно цеплять модули ввода вывода, как у фирмы Fastwel, как пример (картинку прилагаю).

Сейчас все это делается в CorelDRAW ручками, но задача поставлена, ускорить этот процесс.
Необходимо что бы мы выбрали или ввели необходимые модули, а картинка сгенерировалась сама.
Ориентироваться нужно на то, что человек который будет использовать программу, не обладает навыками программирования.
----
Прилагаю картинки итоговой листовки, что должно получится.
На первой просто фон - неизменчив, примерно габариты листа А3
На второй в центре ПЛК, который будет меняться, он на DIN-рейке.
Выносные линии - описание каждого модуля на 8-10 слов (пару строчек).
По моей задумке, возможно, генерировать эти стрелки с привязкой к картинке будет сложно или долго.
Если это действительно окажется так, то возможно стоит уже отрисовать картинку модуля со стрелкой.
Но если получится так, что при генерации картинки стрелки соседних модулей будут накладываться друг на друга, то стоит от них отказаться.
Вместо них указывать описание модулей на желтых полях, которые будет генерироваться в зависимости от модуля.
----
Всего в ряд может быть ~20 модулей + 1 основной, DIN-рейка должна меняться в зависимости от количества модулей.
Но я думаю сделать ее виде начала и конца, которые замыкают ПЛК, либо вообще убрать, если это сложно реализумо.
 

Вложения

  • PIC1.jpg
    PIC1.jpg
    143.4 КБ · Просм.: 158
  • изображение_2022-08-01_174844990.png
    изображение_2022-08-01_174844990.png
    161.3 КБ · Просм.: 176
  • PIC2.png
    PIC2.png
    220.2 КБ · Просм.: 162
Последнее редактирование:
Где это будет реализовано, в целом не важно, я планировал сделать макросами, VBA в CorelDRAW.
Итоговый формат всех действий, это любой формат, который поддерживает большинство компьютеров (типа PDF/JPEG/PNG и т.п.), что бы можно было отправить эту листовку куда-нибудь, скопировать на флешку и т.п.
Покопавшись сам и как вы мне подсказали, это достаточно сложно реализовать в CorelDRAW.
По этой причине, я подумал, что возможно, удобнее это будет сделать средствами C++ или С или С# c использованием графических библиотек, по аналогии с HTML+CSS+JS, как вы предложили.
Язык Си/С++/С# мне хоть ближе, я в нем когда-то, что-то да делал, а JS я в глаза не видел, как и HTML, CSS)
 
Последнее редактирование:
Покопавшись сам и как вы мне подсказали, это достаточно сложно реализовать в CorelDRAW.
Ну может сложно в том виде, в котором вы описали... а так можно и в кореле организовать, больших проблем не вижу.
Рисуется панелька с кнопками, и по нажатию добавляется нужный элемент... вопросы с выносками и описанием вполне решаемы.
 
  • Спасибо
Реакции: Amok
А вообще в Excel можно реализовать выпадающие списки и к ним пристегнуть меняющиеся картинки. Я умею. Делов-то. Другое дело, как с интерактивом... Но тут главное сформулировать задачу поточнее. Удачи!
 

их около 50-60, одновременно может быть как и 2-3, так и все 60
Интересный размер этой листовки может получиться :) И дело не только в динамической пропорции, но и в количестве текста описания которое может сильно изменяться. Для начала было бы не плохо понять как и кем будет использоваться конечный результат, потом думать как это должно выглядеть/сделать.
 
А вообще в Excel можно реализовать выпадающие списки
C Excel'ем устанавливается Mscomctl.ocx, который и позволяет создавать выпадающие списки с картинками. А раз он есть на машине, то может быть использован и из CorelDRAW.
Можно попытаться поставить себе Mscomctl.ocx без Excel'я. Можно поискать другие подобные контролы. Соответственно код будет зависеть от данного .ocx и не заработает на другой машине при его отсутствии.
 
  • Спасибо
Реакции: mnemonix
C Excel'ем устанавливается Mscomctl.ocx, который и позволяет создавать выпадающие списки с картинками.
Скорее всего тупиковый путь, картинки мелкие, информативность околонулевая.
Для реального приложения проще обычные текстовые кнопки, их можно сгруппировать по назначению и выводить крупную картинку для подтверждения. Каких-то сложных извратов с UI не стоит делать на начальном этапе, поскольку концепция может поменяться, а MVP он и в Африке MVP.
 
Ну, нас пока упорно грузят тем, что должна сделать программа, вместо того, чтобы показать, как должен выглядеть предполагаемый интерфейс.
 
C Excel'ем устанавливается Mscomctl.ocx, который и позволяет создавать выпадающие списки с картинками. А раз он есть на машине, то может быть использован и из CorelDRAW.
Можно попытаться поставить себе Mscomctl.ocx без Excel'я. Можно поискать другие подобные контролы. Соответственно код будет зависеть от данного .ocx и не заработает на другой машине при его отсутствии.
Необходимости в макросах для переключения картинок по значению в определённой ячейке нет.
А ещё можно переключать картинки по срезам. Тоже без кода.
С кодом, конечно, веселее.
Присоединяюсь к хору ожидающих реакции ТС.
 
Да лучше даже увидеть финальный результат, а там уже прикидывать детали... уровень набросков больших вопросов не вызывает.