::showLayer2:: Управление слоями на лету. Версия2

  • Автор темы Автор темы wOxxOm
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

wOxxOm

Участник
Топикстартер
Сообщения
798
Реакции
3
LayerPrevious, LayerNext - Alt [, Alt ] - активировать (перейти) на соседний слой
LayerMoveUp, LayerMoveDown - Ctrl [ , Ctrl ] - переместить активный слой выше/ниже в стеке слоев
LayerFromSelected - аналог CtrlShiftJ в Photoshop - создает новый слой из выделенных объектов. Теперь новый слой сразу над исходным. К имени прибавляется "+"
SelectLayerShapes - (у меня "A") выделяет все объекты со слоёв, к котрому принадлежат выделенные объекты
SelectLayer - делает активным слой, на котором лежит выделенный объект
MoveShapesToCurrentLayer - (у меня CtrlShiftE) перемещает все выделенные объекты на активный слой
MergeLayersToCurrent - (CtrlE) сплющивает слои для всех выделенных объектов в активный
LabelLayer - (Ctrl . ) переименовать слой текущего объекта или (если не выделено) активный слой
DeleteLayer - (CtrlAltF8) удалить слой текущего объекта или (если не выделено) активный слой
toggleLayerAutoActivation - переключает автоматическое переключение на слой выделенного объекта

GroupAndSaveLayers - группирует выделенное, сохраняя во внутренних свойствах объектов принадлежность к слоям
UnGroupAndAssignLayers.... - берет все выделенные объекты и каждый, буде он группа, разгруппировывает и распихивает объекты по слоям, используя сохраненную ранее информацию во внутренних свойствах объектов, записанную первым макросом GroupAndSaveLayers.
Надо иметь ввиду, что два последних макроса я написал так, что сохраняется имя слоя - поэтому если переименуете слой, то при разгруппировке UnGroupAndAssignLayers увидите сообщение, что некоторые слои не найдены, их названия и общее количество объектов, которые рагруппировались на текущий слой. Поэтому, как предложил lev, сделаны дополнительные варианты:
UnGroupAndAssignLayersSkip - не создает отсутствующие слои (все на активный)
UnGroupAndAssignLayersOne - создает один слой для "потерянных" объектов
UnGroupAndAssignLayersCreateAll - создает ВСЕ отсутствующие слои (порядок воссоздания не учитывает первоначальное взаиморасположение, а надо ли?)

Типсы:
1. Название АКТИВНОГО слоя выводится в шапке CorelDraw. Не забудьте СНЯТЬ галку с Tools->Options->VBA->DelayLoadVBA (Опции->VBA->Отложенный запуск)
2. При включенном режиме активации слоя объекта
для объединения слоев или перемещения объектов на активный слой - выбираем сначала объекты (можно с разных слоев - все они будут обработаны), которые переместятся, затем клиаем с шифтом на объект, который лежит на слое-назначении, после чего запускаем макрос​

распаковать в C:\Program Files\Corel\CorelDRAW Graphics Suite 13\Draw\GMS\
для 12-го: C:\Program Files\Corel\Corel Graphics 12\Draw\GMS\
если нужно можно отдельно сделать и для 11-го
 

Вложения

Ответ: ::showLayer2:: Управление слоями на лету. Версия2

Добавлено: смена слоя с клавы, перемещение слоя по стеку вверх/вниз, новые варианты разгруппировки
В первом посте обновлено
 
Ответ: ::showLayer2:: Управление слоями на лету. Версия2

Сколько всего нового появляется каждый день... :)
Мне уже макросы пихать некуда, скоро все горячие клавиши будут заняты...
 
Статус
Закрыто для дальнейших ответов.