All Forums
 Категория Visio
 Форум Вопросы и ответы
 Центрирование видимого окна по шейпу
Author Previous Topic Topic Next Topic  

mers

Russia
159 Posts

Posted - 05/03/2006 :  18:19:41
Здравствуйте, задача следующая
Есть схема. Программно выделяю объект.

Как программно центрировать область видимости по объекту? Т.е. сдвинуть видимый прямоугольник окна так, чтобы выделенный объект был по центру экрана. Объект двигать нельзя.

Пока приходит в голову только узнавать координаты шейпа и программно устанавливать размеры видимого прямоугольника.. но может есть способ более изящный?

Edited by - mers on 05/03/2006 18:48:43

brace

Russia
358 Posts

Posted - 05/04/2006 :  08:56:54
когда мне надо поместить какой то шейп в центр окна
делаю это через Edit > Find
если включить макрорекордер может он запишет код программы ???
сам не пробовал.
Go to Top of Page

mers

Russia
159 Posts

Posted - 05/04/2006 :  10:46:29
нет.. к сожалению этот способ не проходит. В макрос ничего не записывается.

Мой способ работает отлично :)
double xPos;
double yPos;

// Узнаем координаты шейпа
xPos = shape.get_Cells("PinX").ResultIU;
yPos = shape.get_Cells("PinY").ResultIU;

// Центрируем видимый прямоугольник окна по выделенному объекту
// Цифры прибавляемые к xPos и yPos - это размеры окна в дюймах,
// меняя их мы можем менять масштаб видимости шейпа.
axDrawingControl.Window.SetViewRect(xPos-4, yPos+2, 8, 4);

Edited by - mers on 05/04/2006 10:46:53
Go to Top of Page
  Previous Topic Topic Next Topic  
Данный сайт является архивом форума visio.artberg.ru, который был закрыт в связи с переходом на новую платформу visio.getbb.ru
Все материалы доступны только для чтения! Если у вас появились вопросы, или вы хотите что-то обсудить, связанное с Visio, обращайтесь на новый форум!
Архив был создан благодаря совместным усилиям Генадия Туманова @Tumanov (visio.artberg.ru), Александра ака @Surrogate (visio.getbb.ru), и Николая Белых @nbelyh (unmanagedvisio.com)