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

Алексей77

14 Posts

Posted - 02/08/2006 :  12:01:18
Господа! Помогите, пожалуйста!
Никак не могу сообразить, какое свойство шейпа характеризует его координаты на листе?
Простите за элементарный характер вопроса!

Digitall

Russia
389 Posts

Posted - 02/08/2006 :  12:14:26  Visit Digitall's Homepage
quote:
Originally posted by Алексей77

Господа! Помогите, пожалуйста!
Никак не могу сообразить, какое свойство шейпа характеризует его координаты на листе?
Простите за элементарный характер вопроса!


Свойство? Никакое. Если только вы сами сделаете эти координаты свойством.
Координаты относительна начала листа содержатся в ячейках PinX и PinY. Но это координаты центра фигуры, так что будьте внимательны. Чтобы найти координаты начала фигуры относительно начала листа, из этих ячеек надо вычесть LocPinX и LocPinY.
Go to Top of Page

Алексей77

14 Posts

Posted - 02/08/2006 :  12:27:53
У меня макрос переносит шейпы из одного файла в другой. Я выбираю необходимый шейп из коллекции шейпов первого файла путем
.ItemFromID(X) и теперь хочу получить координаты центра этого шейпа на листе, чтобы потом отрисовать его на листе второго файла но немного изменяя расположение(то есть надо поработать с координатами). Так вот не понимаю, как получить координаты на исходном листе. Ведь наверняка есть данное свойство у объекта Shape???!!!
Go to Top of Page

Digitall

Russia
389 Posts

Posted - 02/08/2006 :  12:49:28  Visit Digitall's Homepage
quote:
Originally posted by Алексей77

У меня макрос переносит шейпы из одного файла в другой. Я выбираю необходимый шейп из коллекции шейпов первого файла путем
.ItemFromID(X) и теперь хочу получить координаты центра этого шейпа на листе, чтобы потом отрисовать его на листе второго файла но немного изменяя расположение(то есть надо поработать с координатами). Так вот не понимаю, как получить координаты на исходном листе. Ведь наверняка есть данное свойство у объекта Shape???!!!


Так надо было обстоятельно описать ситуацию с самого начала, а не ходить вокруг.

В DVS на стр. 530 приведен исчерпывающий список свойств.
Я бы использовал Cells или CellsSRC. Опять же для ячеек см. выше. Как вариант.
Go to Top of Page

Алексей77

14 Posts

Posted - 02/08/2006 :  15:30:49
Господа! Направьте, пожалуйста на правильный путь!
Что-то я в этой жизни не понимаю!
У объекта типа Shape есть метод Drop, аргументами которого являются координаты на листе, куда этот объект "положить". Теперь я на некотором листе получаю указатель на некоторый объект такого же типа Shape и, по идее, ничего мне не мешает получить координаты расположения данного обекта на этом листе. Так почему же у Shape нет свойств, которые бы возвращали координаты объекта. Мне кажется, что я как то "не догоняю" смысл данной объектной модели.
Go to Top of Page

Digitall

Russia
389 Posts

Posted - 02/08/2006 :  16:17:02  Visit Digitall's Homepage
quote:
Originally posted by Алексей77

Господа! Направьте, пожалуйста на правильный путь!
Что-то я в этой жизни не понимаю!
У объекта типа Shape есть метод Drop, аргументами которого являются координаты на листе, куда этот объект "положить". Теперь я на некотором листе получаю указатель на некоторый объект такого же типа Shape и, по идее, ничего мне не мешает получить координаты расположения данного обекта на этом листе. Так почему же у Shape нет свойств, которые бы возвращали координаты объекта. Мне кажется, что я как то "не догоняю" смысл данной объектной модели.


Такая вот она, витьеватая эта модель. Мне тоже много чего не нравится в Visio. К примеру, почему удаляя слой, мне предлагают удалить все фигуры вместе со слоем. Логичнее было бы просто отключить фигуры от слоя.

Однако, в DVS на 339 странице, в примере, делают именно так, как я предложил постом выше. Ни больше, ни меньше.

Edited by - Digitall on 02/08/2006 16:20:05
Go to Top of Page

Алексей77

14 Posts

Posted - 02/08/2006 :  16:22:51
Дорогой Digitall! А ты не мог бы мне написать эту строку, а то у меня чего-то не выходит, да и не понимаю я смысла этих Cells почему-то, что это за птица такая. Мне надо то всего получить координаты и все!
Заранее благодарен!
Go to Top of Page

Digitall

Russia
389 Posts

Posted - 02/08/2006 :  16:45:22  Visit Digitall's Homepage
quote:
Originally posted by Алексей77

Дорогой Digitall! А ты не мог бы мне написать эту строку, а то у меня чего-то не выходит, да и не понимаю я смысла этих Cells почему-то, что это за птица такая. Мне надо то всего получить координаты и все!
Заранее благодарен!


Sub Test()
Set shpObj = ActiveWindow.Selection.Item(1)
x = shpObj.Cells("Pinx")
y = shpObj.Cells("Piny")
MsgBox x, vbOKOnly
MsgBox y, vbOKOnly
End Sub

Cells - это простая ссылка на ячейку в ТаблицеФигур(ShapeSheet).
Go to Top of Page

Алексей77

14 Posts

Posted - 02/08/2006 :  16:48:13
Ах вот оно в чем дело! Теперь ясно! Огромное спасибо! А то я все понять не мог зачем фигуре ячейка!
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)