Групповое перемещение квадратов под прямым углом

АлексейАльтман

Здравствуйте. Появился вопрос по макросу.Имеется макрос, который совершает ортогональный сдвиг нескольких квадратов. То есть если перетащить куда-нибудь красный квадрат - то остальные сдвинутся также, но ортогонально - вслед за ним. Однако двигать можно только красный квадрат - на остальные квадраты сдвиг не действует.Подскажите - как изменить этот макрос, чтобы подобный сдвиг выполнялся при перетаскивании любого из представленных на листе квадратов.
7 ответов

АлексейАльтман

В твоем примере из архива нет ни одного действенного передвижения как эти передвижения могут производиться ?возможные решения:делаем передвиг красного квадрата, затем процедура отложенного запуска перепроверяет параметры и устанавливает новые и снова осоществляет отложенный запуск если в этот момент параметры снова поменялисьСмоги это сделать сам сдесь не бесплатный решебник, мы можем только чтото подсказатьPS Там не сложно, к примеру все горизонтальные квадраты нужно будет уровнять с общим параметром переменной Height а вертикальные с Width, но делать это нужно в условиях изменения красного квадрата либо по событию этого изменения, либо по отложенному запуска макроса (перепроверки и установки)


АлексейАльтман

как эти передвижения могут производиться ?
Событие - это нажатие на кнопку. То есть в файле примере - можно подвинуть красный квадрат, потом нажать на кнопку - и все остальные квадраты тоже сдвинутся. И еще есть условие - что двигать можно только один квадрат за раз.


АлексейАльтман

И еще есть условие - что двигать можно только один квадрат за раз.
Про это и речь, не можно а нужно так сделать
Событие - это нажа
ну у кнопки есть событие ее нажатия, а у красного квадрата могут быть обрабатываемые события ?


АлексейАльтман

fever brain,
ну у кнопки есть событие ее нажатия, а у красного квадрата могут быть обрабатываемые события ?
Хм... Красный квадрат это обычная фигура, которая в данном макросе выполняет роль ориентира. Перемещаем красный квадрат, жмем на кнопку - и остальные квадраты сдвигаются, подстраиваясь под этот красный квадрат. Вот собственно и все, что имеется у меня на данный момент.Если вы имеете ввиду - стоит ли вешать макросы на сами эти квадраты - то наверное не стоит, поскольку одной кнопки вполне достаточно.


АлексейАльтман

fever brain, вот более совершенная версия этого макроса. Здесь можно двигать не один красный квадрат, а любой из них - но они встроены в горизонтальную и вертикальную линию.Вот как бы именно по сетке их заставить двигаться. То есть - там где несколько горизонтальных рядов и несколько вертикальных.


АлексейАльтман

О чем я писал выше, именно так это и делается поймите, математические вычисления сделать гораздо быстрее по времени нежели все прорисоватьтак вот, создаем отложенное событие на красный квадрат ну или если хотите на кнопкутут все ваши объекты shape должны прировнятся к общему знаменателюЯ то тебя прекрасно понимаю, сделал бы в считанные 15 мин что требуется ))) а самому то каково, это же не для меня задача а для тебя !


АлексейАльтман

Я то тебя прекрасно понимаю, сделал бы в считанные 15 мин что требуется ))) а самому то каково, это же не для меня задача а для тебя !
Понимаете - это сложный вопрос, для настоящих титанов мысли, прожженых программистов с большой буквы. Я-то человек пропащий, а вот вы - настоящий профессионал. Вот я вас и спрашиваю - как эту задачу решить.