Informationen zum Verwenden von Visio Drawing Control in der Anwendung

Visio enthält ein ActiveX-Steuerelement, das Visio Drawing Control.

Mit diesem Steuerelement können Sie die komplette Funktionalität der Visio-Zeichenoberfläche in Ihre Anwendungen integrieren. Sie können das vollständige Visio-Objektmodell (API) nutzen und die Aspekte der Visio-Benutzeroberfläche auswählen, die Sie verfügbar machen möchten, um Visio nahtlos in die Benutzeroberfläche Ihrer Anwendung zu integrieren.

Hinweis Sie können visio Drawing Control in Visual Basic 6.0, Visual C++ 6.0, Visual Studio und andere ActiveX-Steuerelementcontainer einbetten. Sie können das Visio Drawing Control jedoch nicht in eine andere Visio-Zeichnung, ein anderes ActiveX-Steuerelement, ein Visual Basic for Applications (VBA)-Formular in Visio oder ein Visio-Projektmappenfenster einbetten.

Erste Schritte

Installieren Sie Visio, damit Visio Drawing Control installiert wird. Bei der Installation von Visio können Sie zwischen verschiedenen Installationsoptionen auswählen, z. B. die Option Minimale Installation. Wenn Sie die Installationsdateigröße von Visio auf Ihrem Computer minimieren möchten, können Sie Minimale Installation auswählen. Dadurch werden nur die mindestens erforderlichen Visio-Komponenten installiert, einschließlich der Visio-Zeichnungsanwendung und des Visio Drawing Control. Diese Installationsoption enthält keine Visio-Projektmappen oder visio-Hilfe (einschließlich automation reference und ShapeSheet Reference).

Klicken Sie zum Hinzufügen von Visio Drawing Control zur Toolbox in Visual Basic 6.0 im Menü Projekt auf Komponenten, und wählen Sie dann in der Liste Steuerelementedie Option Microsoft Visio 15.0 Drawing Control Type Library aus. Wenn Sie das Steuerelement in anderen Entwicklungsumgebungen verfügbar machen möchten, lesen Sie die Dokumentation, die zu Ihrem Entwicklungsprodukt enthalten ist.

Nachdem Sie ein Standard EXE-Projekt in Visual Basic geöffnet und das Steuerelement der Toolbox hinzugefügt haben, doppelklicken Sie auf das Symbol des Steuerelements, um dem Formular in Ihrer Anwendung eine Instanz des Steuerelements hinzuzufügen. Sie können mehrere Instanzen des Steuerelements hinzufügen, aber sie verwenden das gleiche zugrunde liegende Visio Application-Objekt . Daher werden Programmierbarkeitsobjekte und -einstellungen, die einer Instanz des Steuerelements zugeordnet sind, in anderen Instanzen wiedergegeben. Beispielsweise enthält die Documents-Auflistung des Application-Objekts das Document-Objekt , das jeder Instanz des Steuerelements zugeordnet ist.

Öffnen einer Visio-Zeichnung im Steuerelement

Standardmäßig öffnet das Steuerelement ein leeres Visio-Dokument (Zeichnung). Sie können jedoch entweder zur Entwurfszeit oder zur Laufzeit angeben, dass das Steuerelement ein vorhandenes Visio-Dokument lädt. Das von Ihnen angegebene Dokument muss ihren Benutzern zur Verfügung stehen, entweder weil Sie es zusammen mit Ihrer Anwendung bereitstellen oder weil es auf einer Netzwerkfreigabe vorhanden ist, auf die sie Zugriff haben, auf einer Intranetwebsite oder im Web. Um ein Dokument zur Entwurfszeit anzugeben, legen Sie die Src-Eigenschaft im Fenster Eigenschaften in Ihrem Visual Basic-Projekt fest. Dies ist die bevorzugte Methode. Um eine Zeichnung zur Laufzeit anzugeben, legen Sie die Src-Eigenschaft in Ihrem Code fest, in der Regel in der Form_Load() -Prozedur. Weitere Informationen zur Verwendung der benutzerdefinierten Eigenschaften von Visio Drawing Control finden Sie weiter unten in diesem Thema und im Thema zur Src-Eigenschaft in dieser Automatisierungsreferenz.

Wenn Sie die SRC-Eigenschaft so festlegen, dass eine Datei in Visio Drawing Control geladen werden soll, wird eine Kopie der Datei in Visio Drawing Control geöffnet, und es ist nicht möglich, in die ursprüngliche Datei zu schreiben. Daher können Sie die Document.Save-Methode nicht verwenden, um Änderungen an einer Datei zu speichern, die in Visio Drawing Control geladen wurde. Verwenden Sie zunächst die SRC-Eigenschaft zum Laden der Datei in Visio Drawing Control, wenn Sie Änderungen speichern möchten, und legen Sie dann die SRC-Eigenschaft auf eine leere Zeichenfolge ("") fest. Verwenden Sie die Document.SaveAs-Methode, um die geänderte Datei auf der Festplatte zu speichern.

Wenn Sie die SRC-Eigenschaft nach dem Laden einer Zeichnung in Visio Drawing Control nicht auf eine leere Zeichenfolge festlegen, wird jedes Mal, wenn Sie Die Anwendung schließen und erneut öffnen, die ursprüngliche Zeichnung geladen, und alle Änderungen, die Sie oder Ihre Benutzer vorgenommen haben, gehen verloren.

Standardmäßig zeigt das Steuerelement beim Starten weder den Startbildschirm von Visio noch die Registerkarte Verfügbare Vorlagen an. Außerdem zeigt das Steuerelement standardmäßig keinen angedockten Schablonenbereich beim Start an. Wenn Sie jedoch die Src-Eigenschaft verwenden, um eine Zeichnung anzugeben, die bereits einen angedockten Schablonenbereich anzeigt, wird dieser Bereich im Visio Drawing Control-Fenster angezeigt. Wenn das Schablonenfenster in einer leeren Zeichnung angezeigt werden soll, verwenden Sie die Document.OpenStencilWindow-Methode aus dem Visio-Objektmodell.

Standardmäßig werden weder Visio-Menüs noch Visio-Symbolleisten im -Steuerelement angezeigt (obwohl Kontextmenüs verfügbar sind). Sie können jedoch die Eigenschaften NegotiateMenus und NegotiateToolbars des Steuerelements verwenden, um diese Elemente anzuzeigen. Weitere Informationen zur Verwendung der benutzerdefinierten Eigenschaften von Visio Drawing Control finden Sie weiter unten in diesem Thema sowie in den Themen negotiateMenus-Eigenschaft und NegotiateToolbars-Eigenschaft in dieser Automatisierungsreferenz .

Hinweis Ab Microsoft Visio 2010 ersetzt die Office Fluent-Benutzeroberfläche das vorherige System von mehrstufigen Menüs, Symbolleisten und Aufgabenbereichen. VBA-Objekte und -Elemente, die Sie in früheren Versionen von Visio zum Anpassen der Benutzeroberfläche verwendet haben, sind in Visio 2013 weiterhin verfügbar, funktionieren jedoch anders.

Sie können mehrere Instanzen von Visio Drawing Control in Ihre Anwendung einfügen. Jede Instanz des Steuerelements kann jedoch nur ein Zeichnungsfenster und ein Dokument anzeigen.

Einrichten von Zugriff auf das Visio-Objektmodell

Wenn Sie Zugriff auf das Visio-Objektmodell erhalten möchten, verwenden Sie die Window- oder die Document-Eigenschaft von Visio Drawing Control. Mit dem folgenden Code können Sie ein Window-Objekt in Visio abrufen:

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

Verwenden Sie den folgenden Code, um ein Document-Objekt in Visio abzurufen:

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

Sobald Sie über eines dieser Objekte verfügen, können Sie die Application-Eigenschaft eines der beiden Objekte verwenden, um das Visio Application-Objekt abzurufen:

vsoWindow.Application
vsoDocument.Application

Mit diesen Objekten haben Sie Zugriff auf das gesamte übrige Visio-Objektmodell. Wenn Sie beispielsweise die Visio-Benutzeroberfläche ändern möchten, damit nur die weiße Visio-Zeichenoberfläche ohne Raster, Bildlaufleisten, Lineale und Registerkarten für Zeichenblätter angezeigt wird, können Sie in der Form_Load()-Prozedur den folgenden Code verwenden:

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

Visio-Ereignisse, einschließlich Tastatur- und Mausereignissen, stehen direkt als Elemente des DrawingControl-Objekts zur Verfügung.

Sobald Sie Zugriff auf das Visio-Objektmodell haben, können Sie alle Standardobjekte, Methoden, Eigenschaften und Ereignisse des Modells verwenden, um das Steuerelement in Ihrem Programm zu automatisieren und anzupassen. Weitere Informationen zur Verwendung der Objekte und Member des Visio-Objektmodells finden Sie im Thema zu bestimmten Objekten oder Membern in dieser Automatisierungsreferenz.

Da Visio Drawing Control bestimmungsgemäß in andere Anwendungen eingebettet werden kann, stellt das Steuerelement den Visual Basic-Editor nicht in Visio dar. Daher ist es nicht möglich, VBA-Makros (Visual Basic für Applikationen) in einer vorhandenen Visio-Zeichnung auszuführen, die im Steuerelement geöffnet wird.

Darüber hinaus wird das Visio-ShapeSheet nicht von Visio Drawing Control auf der Benutzeroberfläche dargestellt. Sie können jedoch die Automatisierung verwenden, um Werte und Formeln in ShapeSheet-Zellen abzurufen und festzulegen.

Verwenden der benutzerdefinierten Eigenschaften von Visio Drawing Control

In der folgenden Tabelle sind die benutzerdefinierten Eigenschaften von Visio Drawing Control beschrieben.

Eigenschaft Beschreibung
Document Schreibgeschützt. Gibt das Visio Document-Objekt zurück, das der Instanz von Visio Drawing Control zugeordnet ist.
HostID Lese-/Schreibzugriff. String. Dient zum Zurückgeben oder Festlegen der GUID oder einer anderen dem Registrierungsschlüssel zugewiesenen Zeichenfolge, durch die die Hostcontaineranwendung (Ihr ausführbares Programm) identifiziert wird. Der Standardwert ist eine leere Zeichenfolge.
NegotiateMenus Lese-/Schreibzugriff. Boolean. Gibt an, ob das Steuerelement Menüs mit Menüs der Hostcontaineranwendung zusammenführen kann. Der Standardwert ist False.
NegotiateToolbars Lese-/Schreibzugriff. Boolean. Gibt an, ob das Steuerelement Symbolleisten mit denen der Hostcontaineranwendung zusammenführen kann. Der Standardwert ist False.
PageSizingBehavior Lese-/Schreibzugriff. Aufzählungstyp VisPageSizingBehavior. Gibt an, in welcher Größe Zeichenblätter und Shapes angezeigt werden und gibt die Position von Shapes an, wenn vorhandene Visio-Zeichnungen in Instanzen des Steuerelements geladen werden.
Src Lese-/Schreibzugriff. String. Gibt den Dateinamen und den Pfad für die vorhandene Visio-Zeichnung an, die zur Laufzeit in eine Instanz des Steuerelements geladen wird. Der Standardwert ist eine leere Zeichenfolge.
Window Schreibgeschützt. Gibt das Visio Window-Objekt zurück, das der Instanz von Visio Drawing Control zugeordnet ist. Auf die Window-Eigenschaft kann nur zugegriffen werden, wenn das Steuerelement direkt aktiviert wird.

Weitere Informationen zu diesen benutzerdefinierten Eigenschaften und Codebeispielen, die zeigen, wie sie verwendet werden, finden Sie in den spezifischen Themen, die diesen Eigenschaften in dieser Automatisierungsreferenz zugeordnet sind.

Verwenden von Tastatur- und Mausereignissen mit Visio Drawing Control

Ab Visio 2003 ermöglichen neue Tastatur- und Mausereignisse, die dem Visio-Objektmodell hinzugefügt wurden, ihrem Programm die Möglichkeit, auf Tastatur- und Mauseingaben des Benutzers im Steuerelement zu reagieren. Sie können beispielsweise das Steuerelement daraufhin überwachen, dass mit der Maus auf bestimmte Shapes geklickt wird, und Code schreiben, um diese Ereignisse zu verarbeiten. (Weitere Informationen zum Verwenden dieser Ereignisse, um Aktionen in der Hostanwendung auszulösen, finden Sie im nächsten Abschnitt in diesem Thema.)

Es stehen folgende neue Ereignisse zur Verfügung:

  • KeyDown

  • KeyPress

  • KeyUp

  • MouseDown

  • MouseMove

  • MouseUp

Diese Ereignisse sind mit den gleichnamigen Visual Basic-Ereignissen vergleichbar, wobei jedoch unterschiedliche Argumente verwendet werden. Informationen zum Anzeigen der Syntax und weitere Informationen zu diesen Ereignissen finden Sie in den spezifischen Themen, die ihnen in dieser Automatisierungsreferenz zugeordnet sind. Weitere Informationen zu Visual Basic-Ereignissen finden Sie in der Visual Basic-Hilfe.

Integrieren von Visio Drawing Control in die Benutzeroberfläche der Anwendung

Verwenden Sie Ereignisse oder Statusänderungen in Ihrer Hostanwendung, um eine Zeichnung im Visio Drawing Control zu ändern. Außerdem können Sie mit Ereignissen in Visio Drawing Control Aktionen oder Änderungen in der Hostanwendung auslösen. Sie können beispielsweise Maus- oder Tastaturereignisse in Visio Drawing Control verwenden, um Elemente der Benutzeroberfläche, wie Formulare und Meldungsfelder, in der Hostanwendung anzuzeigen. Der folgende Code veranschaulicht, wie ein MouseDown-Ereignis (ein Mausklickereignis) in Visio Drawing Control verarbeitet wird, damit ein Meldungsfeld in der Visual Basic 6.0-Anwendung angezeigt wird.

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

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.