Author |
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
|
Поддержу вопрос, плюс дополню - как открывать в контроле документ без окна трафаретов (только страницу)? Пытаюсь создать визуализирвоанную модель предприятия, чтоб директор сидел, пробел нажимал, а на диаграмме Визио стрелочки с блоками моргали :) |
|
|
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 (это практически то же самое)... Наверное и еще что-то можно сделать, это только первое, что в голову пришло... :) |
|
|
IPS
7 Posts |
Posted - 07/20/2008 : 08:57:39
|
quote: Originally posted by Balmont
Поддержу вопрос, плюс дополню - как открывать в контроле документ без окна трафаретов (только страницу)? Пытаюсь создать визуализирвоанную модель предприятия, чтоб директор сидел, пробел нажимал, а на диаграмме Визио стрелочки с блоками моргали :)
Me.Control.Object.Window.Windows.ItemEx("Shapes").Close |
|
|
|
Topic |
|
|
|