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

mers

Russia
159 Posts

Posted - 04/15/2005 :  16:37:46
Здравствуйте.

Проблема в следующем.
на листе есть шейп.
как программно получить ссылку на трафарет в котором он состоит?

т.е. вытащили мы объект из трафарета на лист, и появляется окно, в котором написано, что этот шейп из такого то трафарета, в этом трафарете столько то элементов, и они так-то называются.

если будет примерчик, буду очень благодарен, если к тому же он будет на C# благодарности не будет предела :)

Edited by - mers on 04/15/2005 18:01:14

immortal

Russia
391 Posts

Posted - 04/15/2005 :  18:04:28  Visit immortal's Homepage
свойство называется Mastrshape, но дело в том что имя мастер шейпа будет не то которое в стенсиле вы видите, а то которое вы видите при редактировании мастер шейпа через меню: Формат - Особый - Имя:
если вы назначите тут имя которое совпадет с именем стенила то можно обращаться к нему с помощью Mastrshape
наглядно можно посмотреть с пом. моего адд-она excel2visio.exe где при visio->excel ячейка shape и даст имя мастер-шейпа


визио 2003 форэвер

...а вобще-то я белый и пушистый.
Go to Top of Page

mers

Russia
159 Posts

Posted - 04/20/2005 :  10:57:27
Вы немного не поняли.
Как получить ссылку на мастер данного шейпа я знаю.
А как получить ссылку на стенсил?
т.е мне нужно следующее: вытаскиваю шейп на лист и появляется следующая информация: этот шейп находится в таком-то стенсиле(его название), в этом стенсиле столько-то шейпов(их число) и они так-то называются(названия)

но все равно спасибо :)
Go to Top of Page

mers

Russia
159 Posts

Posted - 04/20/2005 :  11:48:07
даже, наверное, проще...
нужно только, чтобы я при вытаскивании шейпа мог сказать из какого он стенсила.
вообще, в визио, где-нибудь в свойствах шейпа это прописывается?
т.е. каким образом связаны шейп и стенсил в котором он находится.

Edited by - mers on 04/20/2005 11:49:27
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 04/20/2005 :  19:33:16
Нет такой связи.
Можно действовать только перебором.
Если Вы только что положили мастер на страницу рисунка, значит трафарет еще открыт. Нужно перебирать все открытые документы, искать среди них трафареты, внутри каждого трафарета просматривать все мастер-шейпы и искать тот самый с нужным именем. Как только наткнулись на нужный, можно делать все остальное - считать шейпы, собирать названия и т.д.
Если такой же мастер-шейп окажется сразу на нескольких трафаретах, то Вы так и не узнаете, откуда он был взят :(
Go to Top of Page

mers

Russia
159 Posts

Posted - 04/21/2005 :  15:13:32
В конце концов пришел к такому-же выводу :)
Делал именно перебором.

Всем спасибо.
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)