Форум пользователей Visio http://visio.getbb.ru/ |
|
Как программно определить список связности шейпа C#? http://visio.getbb.ru/viewtopic.php?f=6&t=95 |
Страница 1 из 1 |
Автор: | Sila [ 08 май 2012, 14:39 ] |
Заголовок сообщения: | Как программно определить список связности шейпа C#? |
Вобщем у меня есть список шейпов текущего документа. // Запись шейпов в активном документе в переменную shapes Shapes shapes = Globals.ThisAddIn.Application.ActivePage.Shapes; Как мне определить шейпы, которые связаны с ним, причем таким образом, чтобы было понятно in или out - входная или выходная стрелка. |
Автор: | Surrogate [ 10 май 2012, 11:26 ] |
Заголовок сообщения: | Re: Как программно определить список связности шейпа C#? |
похоже я не совсем понимаю терминологию Код: // Запись шейпов в активном документе в переменную shapes Shapes shapes = Globals.ThisAddIn.Application.ActivePage.Shapes; C# я не знаю , но интуитивно догадался что в этом коде происходит определение переменной - эта переменная содержит в себе все шейпы активного листа. Эти и имеется в виду под словом- список, не так ли ? Насколько я знаю можно каждый присоединенный объект имеет свойства FromSheet и ToSheet. Думаю, нужно делать перебор всех шейпов входящих в этот список - и заносить все данные в массив на форуме http://www.visguy.com/2008/03/17/connect-all-shapes-to-each-other/, есть примеры работы с присоединенными шейпами на VBA и C#, может это чем поможет PS По смыслу наверно это подойдет Код: private void m_connect(Visio.Page visPg )
{ Visio.Shape shpFrom, shpTo; List<Visio.Shape> collShapes; // Set the page-layout settings for routing-style, // jump-style, etc. m_setPageLayoutSettings(visPg); // Add all the non-connector shapes to a VB collection collShapes = m_getShapesToConnect(visPg); // Loop through the shapes in the shapes collection -- // connect the ith shape to each jth shape, so to speak: for(int i = 0; i < collShapes.Count; i++) { shpFrom = collShapes[i]; // Connect to all the other shapes: for (int j = i + 1; j < collShapes.Count; j++) { shpTo = collShapes[j]; m_connectShapes(shpFrom, shpTo); } } } |
Автор: | Sila [ 10 май 2012, 15:55 ] |
Заголовок сообщения: | Re: Как программно определить список связности шейпа C#? |
спасибо, полезная информация! как разберусь, скину код. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |