Author |
Topic |
|
Vicont
Russia
6 Posts |
Posted - 03/07/2007 : 11:33:24
|
Как сделать, чтобы при двойном клике по шейпу (обрабатывается макросом) рисунок сохранял свое прежнее положение - не перемещался ? Вроде это из-за фокуса выделенного шейпа. Или нужно запоминать предыдущее положение ? Какие свойства нужно отслеживать (менять)? Буду очень признателен за помощь.
|
|
mers
Russia
159 Posts |
Posted - 03/09/2007 : 11:09:15
|
Здравствуйте. Не очень понятен вопрос. Какой рисунок не должен двигаться? Изображение шейпа или видимая область схемы?
Если не должен двигаться шейп, используйте LockMoveX и LockMoveY. Если не должна двигаться видимая область рисунка, то 1. можно использовать функции GetViewRect для получения видимого прямоугольника и SetViewRect для его установления. 2. При работе с шейпом в макросе, не выделять его. |
Edited by - mers on 03/09/2007 11:29:10 |
|
|
Vicont
Russia
6 Posts |
Posted - 03/12/2007 : 14:00:43
|
Здравствуйте, mers и все -все -все. Видимо я не очень ясно обозначил проблему. Речь не об отдельном шейпе. А важно чтобы при кликах по шейпам схема со страницей не смещалась в окне(должна быть как бы "приклеена" к экрану). И хотелось бы чтобы страница и окно были одного размера. Что-то c GetViewRect и SetViewRect мне не удалось достичь нужного результата. Благодарю за внимание к вопросу. Надеюсь на помощь. |
Edited by - Vicont on 03/13/2007 17:07:38 |
|
|
mers
Russia
159 Posts |
Posted - 03/14/2007 : 16:37:45
|
Что конкретно не получилось с SetViewRect и GetViewRect |
|
|
Vicont
Russia
6 Posts |
Posted - 03/15/2007 : 13:39:54
|
Добрый день ! Почему-то при повторных вызовах макроса меняется масштаб. Это даже заметно по процентам в поле масштаба на панели инструментов. Вот код: wdt = ActivePage.PageSheet.Cells("PageWidth") hgt = ActivePage.PageSheet.Cells("PageHeight") ActiveWindow.SetViewRect 0, hgt, wdt, hgt Из-за чего это может быть? И еще Вы говорили " При работе с шейпом в макросе, не выделять его." Как это, если шейп выделяется по двойному клику ? Есть какие-то средства снятия выделения ? Спасибо за поддержку. |
|
|
Tumanov
Russia
1198 Posts |
Posted - 03/16/2007 : 20:45:33
|
Не нравится мне Ваш код... Я бы действовал вот так: Dim a(4) As Double ActiveWindow.GetViewRect a(1), a(2), a(3), a(4) ActiveWindow.SetViewRect a(1), a(2), a(3), a(4) |
|
|
|
Topic |
|