Author |
Topic |
|
zhuravsky
Russia
115 Posts |
Posted - 06/27/2008 : 09:57:29
|
Есть группа, состоящая из 2-х шейпов, которые накладываются друг на друга. Можно ли в секции Actions этой группы сделать команду, чтобы изменять порядок шейпов, что-то вроде Bring to front/Send to back. С макросами понятно, что можно, а вот без них? |
|
Tumanov
Russia
1198 Posts |
Posted - 06/27/2008 : 10:48:41
|
Если по-хорошему не получится, то может попробовать обмануть...? Нарисовать один из шейпов в двух экземплярах в разных позициях и переключать видимость. Пусть думают, что он перескакивает. |
|
|
Geosher
Russia
10 Posts |
Posted - 07/01/2008 : 13:02:11
|
Можно и без макросов. http://slil.ru/25947108 Страница с примером -два прямоугольника в группе. |
|
|
Tumanov
Russia
1198 Posts |
Posted - 07/01/2008 : 15:37:48
|
И ведь работает... :) А я про DoCmd вечно забываю :( |
|
|
zhuravsky
Russia
115 Posts |
Posted - 07/01/2008 : 17:38:17
|
Условия задачи не выполнены. Секция Actions должна быть в группе, а не у ее членов, иначе задача тривиальна. |
|
|
Tumanov
Russia
1198 Posts |
Posted - 07/01/2008 : 19:32:19
|
А такой вариант? В ShapeSheet группы из секции Actions менять одну из двух ячеек (для каждого шейпа свою. Например, SETF(GETREF(Scratch.X1), Now()) и SETF(GETREF(Scratch.Y1), Now()) А в членах группы настроиться на изменение своей ячейки по Dependson. Например, в одном - DoCmd(1048) + Dependson(Sheet.1!Scratch.X1), в другом - DoCmd(1048) + Dependson(Sheet.1!Scratch.Y1) |
|
|
Geosher
Russia
10 Posts |
Posted - 07/02/2008 : 14:00:40
|
Вариант удаленного управления не получается. Чтобы отработало docmd фокус должен быть на шейпе иначе вызов docmd игнорируется. |
|
|
Geosher
Russia
10 Posts |
Posted - 07/07/2008 : 08:26:37
|
После задумий по этому вопросу появилась идея. Делаем группу из двух шейпов. Поведение группы делаем на показ сначала компонентов, рамку выделения и иже сними из группы убираем. Тоже делаем для одного из шейпов, который назовем управляемым. Другой шейп (назовем его управляющим) настраиваем на управление свойствами и ячейками как группы, так и управляемым шейпом. Получаем возможность использования docmd. В решении есть конечно минусы, один в том, что рамка выделения как у связанного объекта. |
|
|
Geosher
Russia
10 Posts |
Posted - 07/10/2008 : 10:36:25
|
Имеется реализованное решение. Статья об этом отправлена для размещения на сайте. |
|
|
zhuravsky
Russia
115 Posts |
Posted - 07/10/2008 : 15:32:45
|
Интересно будет посмотреть. Хотя, я все больше склоняюсь к варианту с макросом.
Спасибо. |
|
|
Tumanov
Russia
1198 Posts |
|
zhuravsky
Russia
115 Posts |
Posted - 07/11/2008 : 15:37:52
|
Да, решение оригинальное. Признаю, что начальные условия выполнены полностью. К сожалению, есть один недостаток - если шейпов не два, а больше, то работать не будет. Вероятно, мне следовало изложить то, что мне нужно более подробно. Нашел я одну очень интересную ссылку: http://www.visguy.com/2008/06/25/free-isometric-piping-shapes-for-visio/#more-1015 Там, среди прочего есть неплохой набор простых псевдо-трехмерных шейпов. Мне захотелось несколько расширить их универсальность, благо библиотека полностью открыта и бесплатна. В частности, я занялся кубом (параллелипипедом). После изучения внутренностей шейпа я понял, что проще нарисовать все с нуля (автор библиотеки - японец, его логику мне понять не дано), что и было сделано. Расширение функциональности я планировал по нескольким направлениям: - управление формой не только контролами, но и свойствами (см. также ветку topic.asp@TOPIC_ID=2041.html) - возможность получения не только "куба", но и "ящика", т.е. когда одна из граней отсутствует - градиентные заливки граней для улучшения "видимости" К сожалению, затык произошел на первом пункте, и в настоящее время у меня два разных шейпа - один с контролами,другой - со свойстами. В принципе, если кому-то интересно, я могу поделиться, но вероятно, следует сделать другую ветку. Опять же к сожалению, работа несколько затормозилась в связи с командировкой, поэтому я своим кубом уже давно не занимался, но постараюсь продолжить.
С уважением. |
|
|
Geosher
Russia
10 Posts |
Posted - 07/14/2008 : 06:08:06
|
Тема с изометрией очень интересна. Можно было бы объединить усилия (мыло в профиле), если это вам интересно. По переключению я думаю, что Bring to front/Send to в данном случае не применимы. Тут нужно управлять переключением видимая/невидимая грань на уровне геометрии. Правда я пока не совсем понимаю, как должна выглядеть фигура в различный ракурсах (как русуется объемная фигура в изометрии я конечно знаю, но не знаю как вам это видится). Может быть вы это нарисуете в векторном виде в нужных вариантах с заливками? И попытаемся решить.
С уважением, Георгий |
|
|
zhuravsky
Russia
115 Posts |
Posted - 07/17/2008 : 12:48:45
|
Прошу прощения. Я сейчас в командировке, отвечу чуть позже. |
|
|
Tumanov
Russia
1198 Posts |
|
|
Topic |
|