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

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 183
Реакции
10 843
Ну тогда я не понимаю, какого именно интерактива хочет ТС и для чего?
Облегчить себе верстку? - Тогда задача программирования этого интерактива явно несоизмерима с полезностью результата.
Создать интерфейс, при помощи которого любой человек, не связанный с версткой и кодингом может быстро накидывать картинки? Тогда действительно проще через веб реализовать, чтоб на выходе некий скрипт автоверстки само генерировало.
 
  • Спасибо
Реакции: DukereD

Amok

Участник
Топикстартер
Сообщения
40
Реакции
0
Вам в данной фразе ничего странным не кажется? '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 КБ · Просм.: 117
  • изображение_2022-08-01_174844990.png
    изображение_2022-08-01_174844990.png
    161.3 КБ · Просм.: 126
  • PIC2.png
    PIC2.png
    220.2 КБ · Просм.: 127
Последнее редактирование:

Amok

Участник
Топикстартер
Сообщения
40
Реакции
0
Где это будет реализовано, в целом не важно, я планировал сделать макросами, VBA в CorelDRAW.
Итоговый формат всех действий, это любой формат, который поддерживает большинство компьютеров (типа PDF/JPEG/PNG и т.п.), что бы можно было отправить эту листовку куда-нибудь, скопировать на флешку и т.п.
Покопавшись сам и как вы мне подсказали, это достаточно сложно реализовать в CorelDRAW.
По этой причине, я подумал, что возможно, удобнее это будет сделать средствами C++ или С или С# c использованием графических библиотек, по аналогии с HTML+CSS+JS, как вы предложили.
Язык Си/С++/С# мне хоть ближе, я в нем когда-то, что-то да делал, а JS я в глаза не видел, как и HTML, CSS)
 
Последнее редактирование:

splxgf

12 лет на форуме
Сообщения
7 742
Реакции
3 424
Покопавшись сам и как вы мне подсказали, это достаточно сложно реализовать в CorelDRAW.
Ну может сложно в том виде, в котором вы описали... а так можно и в кореле организовать, больших проблем не вижу.
Рисуется панелька с кнопками, и по нажатию добавляется нужный элемент... вопросы с выносками и описанием вполне решаемы.
 
  • Спасибо
Реакции: Amok

NNN5

Модератор
15 лет на форуме
Сообщения
1 256
Реакции
1 012
А вообще в Excel можно реализовать выпадающие списки и к ним пристегнуть меняющиеся картинки. Я умею. Делов-то. Другое дело, как с интерактивом... Но тут главное сформулировать задачу поточнее. Удачи!
 

Drawer

Участник
Сообщения
1 795
Реакции
793

их около 50-60, одновременно может быть как и 2-3, так и все 60
Интересный размер этой листовки может получиться :) И дело не только в динамической пропорции, но и в количестве текста описания которое может сильно изменяться. Для начала было бы не плохо понять как и кем будет использоваться конечный результат, потом думать как это должно выглядеть/сделать.
 

lev

Модератор
20 лет на форуме
Сообщения
2 144
Реакции
2 067
А вообще в Excel можно реализовать выпадающие списки
C Excel'ем устанавливается Mscomctl.ocx, который и позволяет создавать выпадающие списки с картинками. А раз он есть на машине, то может быть использован и из CorelDRAW.
Можно попытаться поставить себе Mscomctl.ocx без Excel'я. Можно поискать другие подобные контролы. Соответственно код будет зависеть от данного .ocx и не заработает на другой машине при его отсутствии.
 
  • Спасибо
Реакции: mnemonix

splxgf

12 лет на форуме
Сообщения
7 742
Реакции
3 424
C Excel'ем устанавливается Mscomctl.ocx, который и позволяет создавать выпадающие списки с картинками.
Скорее всего тупиковый путь, картинки мелкие, информативность околонулевая.
Для реального приложения проще обычные текстовые кнопки, их можно сгруппировать по назначению и выводить крупную картинку для подтверждения. Каких-то сложных извратов с UI не стоит делать на начальном этапе, поскольку концепция может поменяться, а MVP он и в Африке MVP.
 

lev

Модератор
20 лет на форуме
Сообщения
2 144
Реакции
2 067
Ну, нас пока упорно грузят тем, что должна сделать программа, вместо того, чтобы показать, как должен выглядеть предполагаемый интерфейс.
 

NNN5

Модератор
15 лет на форуме
Сообщения
1 256
Реакции
1 012
C Excel'ем устанавливается Mscomctl.ocx, который и позволяет создавать выпадающие списки с картинками. А раз он есть на машине, то может быть использован и из CorelDRAW.
Можно попытаться поставить себе Mscomctl.ocx без Excel'я. Можно поискать другие подобные контролы. Соответственно код будет зависеть от данного .ocx и не заработает на другой машине при его отсутствии.
Необходимости в макросах для переключения картинок по значению в определённой ячейке нет.
А ещё можно переключать картинки по срезам. Тоже без кода.
С кодом, конечно, веселее.
Присоединяюсь к хору ожидающих реакции ТС.
 

splxgf

12 лет на форуме
Сообщения
7 742
Реакции
3 424
Да лучше даже увидеть финальный результат, а там уже прикидывать детали... уровень набросков больших вопросов не вызывает.