Поделиться через


Сведения об использовании элемента управления рисованием Visio в приложении

Visio включает элемент управления ActiveX, элемент управления рисования Visio.

С помощью этого элемента управления можно внедрить в приложения все функциональные возможности области рисования Visio. Вы можете воспользоваться преимуществами полной объектной модели Visio (API) и выбрать аспекты пользовательского интерфейса Visio, которые вы хотите предоставить, чтобы лучше интегрировать Visio в пользовательский интерфейс приложения.

Примечание Элемент управления рисованием Visio можно внедрить в Visual Basic 6.0, Visual C++ 6.0, Visual Studio и другие контейнеры элементов ActiveX. Однако невозможно внедрить элемент управления рисованием Visio в другой документ Visio, другой элемент ActiveX, форму Visual Basic для приложений (VBA) в Visio или окно решения Visio.

Начало работы

Чтобы установить элемент управления рисованием Visio, установите Visio. При установке Visio можно выбрать различные параметры установки, включая параметр Минимальная установка . Если вы хотите свести к минимуму размер файла установки Visio на компьютере, можно выбрать минимальную установку, чтобы установить только минимально необходимые компоненты Visio, включая приложение Visio для рисования и элемент управления рисованием Visio. Этот вариант установки не включает решения Visio или справку Visio (которая включает справочник по автоматизации и справочник по таблицам фигур).

Чтобы добавить элемент управления Рисованием Visio на панель элементов в Visual Basic 6.0, в меню Проект выберите пункт Компоненты, а затем в списке Элементы управления выберите Библиотека типов элементов управления рисованием Microsoft Visio 15.0. Чтобы сделать элемент управления доступным в других средах разработки, ознакомьтесь с документацией по продукту разработки.

После открытия стандартного проекта EXE в Visual Basic и добавления элемента управления на панель элементов дважды щелкните значок элемента управления, чтобы добавить экземпляр элемента управления в форму в приложении. Можно добавить несколько экземпляров элемента управления, но они будут совместно использовать один и тот же базовый объект Приложения Visio. В результате объекты программируемости и параметры, связанные с одним экземпляром элемента управления, будут отражены в других экземплярах. Например, коллекция Documents объекта Application будет включать объект Document , связанный с каждым экземпляром элемента управления .

Открытие документа Visio в элементе управления

По умолчанию элемент управления открывает пустой документ Visio (документ). Однако во время разработки или во время выполнения можно указать, что элемент управления загружает существующий документ Visio. Указанный документ должен быть доступен пользователям, так как он предоставляется вместе с приложением или в общей сетевой папке, к которым у них есть доступ, на сайте интрасети или в Интернете. Чтобы указать документ во время разработки, задайте свойство Src в окне Свойства проекта Visual Basic. Это предпочтительный метод. Чтобы указать документ во время выполнения, задайте свойство Src в коде, обычно в процедуре Form_Load( ). Дополнительные сведения об использовании пользовательских свойств элемента управления рисованием Visio см. далее в этом разделе и в разделе свойств Src в этом справочнике по автоматизации.

При установке свойства SRC для загрузки файла в элемент управления рисованием Visio элемент управления открывает копию файла, но не сохраняет исходный файл открытым для записи. В результате нельзя использовать метод Document.Save для сохранения изменений в файле, загруженном в элемент управления рисованием Visio. Чтобы сохранить изменения в файле, сначала используйте свойство SRC , чтобы загрузить файл в элемент управления рисованием Visio, а затем задайте для SRC пустую строку (""). Чтобы сохранить измененный файл на диск, используйте метод Document.SaveAs .

Если после загрузки документа в элемент управления рисованием Visio не задать для свойства SRC пустую строку, при каждом закрытии и повторном открытии приложения исходный документ будет загружаться, а любые изменения, внесенные вами или вашими пользователями, будут потеряны.

По умолчанию элемент управления не отображает экран запуска Visio или вкладку Доступные шаблоны при запуске. Кроме того, по умолчанию элемент управления не отображает закрепленную панель набора элементов при запуске, но если вы используете свойство Src для указания документа, в котором уже отображается закрепленная панель набора элементов, эта панель будет отображаться в окне Visio Drawing Control. Чтобы отобразить область набора элементов в пустом документе, используйте метод Document.OpenStencilWindow из объектной модели Visio.

По умолчанию в элементе управления не отображаются ни меню Visio, ни панели инструментов Visio (хотя контекстные меню доступны). Однако для отображения этих элементов можно использовать свойства NegotiateMenus и NegotiateToolbars элемента управления. Дополнительные сведения об использовании пользовательских свойств элемента управления рисованием Visio см. далее в этом разделе, а также в разделах свойства NegotiateMenus и NegotiateToolbars в этом справочнике по автоматизации.

Примечание Начиная с Microsoft Visio 2010 пользовательский интерфейс Office Fluent заменяет предыдущую систему многоуровневых меню, панелей инструментов и областей задач. Объекты И элементы VBA, которые использовались для настройки пользовательского интерфейса в предыдущих версиях Visio, по-прежнему доступны в Visio 2013, но работают по-разному.

В приложение можно вставить несколько экземпляров элемента управления рисованием Visio. Однако каждый экземпляр элемента управления может отображать только одно окно рисования и один документ.

Получение доступа к объектной модели Visio

Чтобы получить доступ к объектной модели Visio, используйте свойство Window или Document элемента управления рисованием Visio. Чтобы получить объект Visio Window , используйте следующий код:

Dim vsoWindow As Visio.Window
Set vsoWindow = DrawingControl1.Window

Чтобы получить объект Документа Visio, используйте следующий код:

Dim vsoDocument As Visio.Document
Set vsoDocument = DrawingControl1.Document

Получив любой из этих объектов, можно использовать свойство Application любого из объектов, чтобы получить объект Visio Application :

vsoWindow.Application
vsoDocument.Application

С помощью этих объектов у вас есть доступ ко всем остальным объектам visio. Например, если вы хотите изменить пользовательский интерфейс Visio, чтобы он отображал только белую поверхность документа Visio без сетки, полос прокрутки, линейки и вкладок страниц, можно использовать следующий код в процедуре Form_Load():

Dim vsoWindow As Visio.Window
Set vsoWindow = DrawingControl1.Window
vsoWindow.ShowGrid = False
vsoWindow.ShowPageTabs = False
vsoWindow.ShowRulers = False
vsoWindow.ShowScrollBars = False

События Visio, включая события клавиатуры и мыши, доступны непосредственно как члены объекта DrawingControl .

Получив доступ к объектной модели Visio, вы можете использовать все стандартные объекты, методы, свойства и события модели для автоматизации и настройки элемента управления в программе. Дополнительные сведения об использовании объектов и членов объектной модели Visio см. в разделе об определенном объекте или элементе этого справочника по автоматизации.

Так как он предназначен для внедрения в другое приложение, элемент управления Рисование Visio не предоставляет редактор Visual Basic в Visio. В результате макросы Visual Basic для приложений (VBA) в существующем документе Visio, открытом в элементе управления, не будут выполняться.

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

Использование пользовательских свойств элемента управления рисованием Visio

В следующей таблице описаны пользовательские свойства, предоставляемые элементом управления рисованием Visio.

Свойство Description
Document Только для чтения. Возвращает объект Visio Document , связанный с экземпляром элемента управления рисованием Visio.
HostID Для чтения и записи. Строка. Возвращает или задает GUID или другую строку, присвоенную разделу реестра, который идентифицирует приложение контейнера узла (исполняемая программа). По умолчанию используется пустая строка.
NegotiateMenus Для чтения и записи. Логическое значение. Указывает, может ли элемент управления объединять меню с меню ведущего приложения-контейнера. Значение по умолчанию - false.
NegotiateToolbars Для чтения и записи. Логическое значение. Указывает, может ли элемент управления объединять панели инструментов с панелями инструментов ведущего приложения-контейнера. Значение по умолчанию - false.
PageSizingBehavior Для чтения и записи. Перечислимый тип VisPageSizingBehavior. Указывает размер страниц и их расположение при загрузке существующих документов Visio в экземпляры элемента управления.
Src Для чтения и записи. Строка. Указывает путь и имя файла существующего документа Visio, который загружается в экземпляр элемента управления во время выполнения. По умолчанию используется пустая строка.
Window Только для чтения. Возвращает объект Visio Window , связанный с экземпляром элемента управления рисованием Visio. Свойство Window доступно только в том случае, если элемент управления активен на месте.

Дополнительные сведения о любом из этих настраиваемых свойств и примеры кода, демонстрирующие их использование, см. в разделах, связанных с этими свойствами, в этом справочнике по автоматизации.

Использование событий клавиатуры и мыши с элементом управления рисованием Visio

Начиная с Visio 2003 новые события клавиатуры и мыши, добавленные в объектную модель Visio, позволяют программе реагировать на ввод с клавиатуры и мыши в элементе управления. Например, можно прослушивать щелчки мышью определенных фигур в элементе управления и писать код для их обработки. (Дополнительные сведения об использовании этих событий для управления действиями в ведущем приложении см. в следующем разделе этой статьи.)

Доступны следующие новые события:

  • KeyDown

  • KeyPress

  • KeyUp

  • MouseDown

  • MouseMove

  • MouseUp

Эти события похожи на события Visual Basic с одинаковыми именами, хотя они принимают разные аргументы. Чтобы просмотреть синтаксис и дополнительные сведения об этих событиях, ознакомьтесь с конкретными разделами, связанными с ними, в этом справочнике по автоматизации. Дополнительные сведения о событиях Visual Basic см. в справке по Visual Basic.

Интеграция элемента управления рисованием Visio в пользовательский интерфейс приложения

Используйте события или изменения состояния в ведущем приложении для изменения документа в элементе управления рисованием Visio. Кроме того, события в элементе управления рисованием Visio можно использовать для управления действиями или изменениями в ведущем приложении. Например, можно использовать события мыши или клавиатуры в элементе управления рисованием Visio для отображения элементов пользовательского интерфейса, таких как формы и окна сообщений, в ведущем приложении. В следующем коде показано, как обработать событие MouseDown (щелчок мышью) в элементе управления рисованием Visio для отображения окна сообщения в приложении Visual Basic 6.0.

Private Sub DrawingControl1_MouseDown(ByVal Button As Long, ByVal KeyButtonState As Long, ByVal x As Double, ByVal y As Double, CancelDefault As Boolean)
 
  MsgBox "You have clicked the mouse.", , "Drawing Control Event"
 
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.