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

Vlad007

1 Posts

Posted - 06/08/2006 :  14:50:41
Как сделать так, чтобы пользователь моего приложения не мог редактировать рисунок во встроенном Microsoft Visio Drawing Control'е?

Использовать Visio Viewer ActiveX не могу - не хватает функциональности...

Balmont

4 Posts

Posted - 10/12/2007 :  03:55:34
Поддержу вопрос, плюс дополню - как открывать в контроле документ без окна трафаретов (только страницу)? Пытаюсь создать визуализирвоанную модель предприятия, чтоб директор сидел, пробел нажимал, а на диаграмме Визио стрелочки с блоками моргали :)
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 10/12/2007 :  07:50:50
Я с Drawing Control практически не работал, но попробуем поразбираться... :)
По умолчанию документ вроде и так открывается в виде, мало пригодном для редактирования. Порисовать на нем уже не удастся из-за отсутствия инструментов. Чтобы меньше было попыток, можно проследить, что было установлено:
NegotiateMenus = False
NegotiateToolbars = False
Потом - редактирование не сказывается на исходном файле. Чтобы сохранить результаты нужно произвести специальные действия, причем программные. То есть испортить файл директор точно не сможет.
По поводу трафаретов
Документ открывается в том виде, в котором был сохранен. Сделайте копию рисунка, позакрывайте в ней перед записью все трафареты. Тогда и в Drawing Control такой документ откроется без трафаретов.
Можно отключить всю лишнюю разметку и линейки:
vsoWindow.ShowGrid = False
vsoWindow.ShowRulers = False
vsoWindow.ShowScrollBars = False
Чтобы заблокировать перетаскивание, изменение размеров и т.д., можно в исходном файле сделать Select All и установить защиту всего. Полная защита, конечно, не достигается. Останется еще возможность подергать за управляющие точки и пошевелить коннекторы. Но до этого еще додуматься надо... :)
Наконец, если отключить табы:
vsoWindow.ShowPageTabs = False
и перелистывать страницы самому, то можно все страницы документа назначить фоновыми, а просматривать их через одну пустую страницу. Связи переключать программно из своего приложения. Тут уж народ совсем ничего изменить не сможет.
Есть еще варианты: сохранить рисунок в виде картинок и показывать картинки или сохранить в HTML (это практически то же самое)...
Наверное и еще что-то можно сделать, это только первое, что в голову пришло... :)
Go to Top of Page

IPS

7 Posts

Posted - 07/20/2008 :  08:57:39
quote:
Originally posted by Balmont

Поддержу вопрос, плюс дополню - как открывать в контроле документ без окна трафаретов (только страницу)? Пытаюсь создать визуализирвоанную модель предприятия, чтоб директор сидел, пробел нажимал, а на диаграмме Визио стрелочки с блоками моргали :)


Me.Control.Object.Window.Windows.ItemEx("Shapes").Close
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)