Partager via


À propos de l’utilisation du contrôle de dessin Visio dans votre application

Visio inclut un contrôle ActiveX, le contrôle de dessin Visio.

L’utilisation de ce contrôle de dessin permet d’incorporer l’ensemble de la fonctionnalité de la surface du dessin Visio à vos applications. Vous pouvez tirer parti du modèle objet Visio complet (API) et choisir les aspects de l’interface utilisateur Visio que vous souhaitez exposer pour mieux intégrer Visio en toute transparence à l’interface utilisateur de votre application.

Note Vous pouvez incorporer le contrôle de dessin Visio dans Visual Basic 6.0, Visual C++ 6.0, Visual Studio et d’autres conteneurs de contrôle ActiveX. Toutefois, vous ne pouvez pas incorporer le contrôle de dessin Visio dans un autre dessin Visio, un autre contrôle ActiveX, un formulaire Visual Basic pour Applications (VBA) dans Visio ou une fenêtre de solution Visio.

Prise en main

Pour installer le contrôle de dessin Visio, installez Visio. Lors de cette installation, vous pouvez choisir différentes options, notamment Installation minimale. Si vous souhaitez réduire la taille du fichier d’installation de Visio sur votre ordinateur, vous pouvez choisir Installation minimale, qui installe uniquement les composants Visio requis, y compris l’application de dessin Visio et le contrôle de dessin Visio. Cette option d’installation n’inclut pas les solutions Visio ou l’aide Visio (qui inclut la référence Automation et la référence ShapeSheet).

Pour ajouter le contrôle de dessin Visio à la boîte à outils de Visual Basic 6.0, dans le menu Projet , cliquez sur Composants, puis, dans la liste Contrôles , sélectionnez Bibliothèque de types de contrôles de dessin Microsoft Visio 15.0. Pour rendre le contrôle disponible dans d’autres environnements de développement, consultez la documentation fournie avec votre produit de développement.

Une fois que vous avez ouvert un projet EXE Standard dans Visual Basic et ajouté le contrôle à la Boîte à outils, double-cliquez sur l’icône du contrôle pour ajouter une instance du contrôle au formulaire dans votre application. Vous pouvez ajouter plusieurs instances du contrôle, mais elles partagent le même objet Application Visio sous-jacent. En conséquence, les objets et paramètres de programmabilité associés à une instance du contrôle sont répercutés dans d’autres instances. Par exemple, la collection Documents de l’objet Application comprend l’objet Document associé à chaque instance du contrôle.

Ouverture d’un dessin Visio dans le contrôle

Par défaut, le contrôle ouvre un document Visio vide (dessin). Toutefois, vous pouvez indiquer, soit au moment de la création ou au moment de l’exécution, que le contrôle charge un document Visio existant. Le document que vous spécifiez doit être disponible pour vos utilisateurs, soit parce que vous le fournissez avec votre application, soit parce qu’il existe sur un partage réseau auquel ils ont accès, sur un site intranet ou sur le Web. Pour spécifier le chargement d’un document au moment de la conception, définissez la propriété Src dans la fenêtre Propriétés de votre projet Visual Basic. Il s'agit de la méthode recommandée. Pour spécifier un dessin au moment de l’exécution, définissez la propriété Src dans votre code, généralement dans la procédure Form_Load(). Vous trouverez plus d’informations sur l’utilisation des propriétés personnalisées du contrôle de dessin Visio ultérieurement sous cette rubrique et sous la rubrique Propriété Src de cette référence d’Automation.

Lorsque vous définissez la propriété SRC pour charger un fichier dans le contrôle de dessin Visio, le contrôle ouvre une copie du fichier, mais ne laisse pas le fichier d’origine ouvert en écriture. Par conséquent, vous ne pouvez pas utiliser la méthode Document.Save pour enregistrer les modifications apportées à un fichier chargé dans le contrôle de dessin Visio. Pour enregistrer les modifications d’un fichier, utilisez d’abord la propriété SRC pour charger le fichier dans le contrôle de dessin Visio, puis définissez SRC sur une chaîne vide (""). Pour enregistrer le fichier modifié sur le disque, utilisez la méthode Document.SaveAs.

Si vous ne définissez pas la propriété SRC sur une chaîne vide après avoir chargé un dessin dans le contrôle de dessin Visio, chaque fois que vous fermez et rouvrez votre application, le dessin d’origine est chargé et toutes les modifications que vous ou vos utilisateurs avez apportées seront perdues.

Par défaut, le contrôle n’affiche pas l’écran de démarrage Visio ou l’onglet Modèles disponibles au démarrage. En outre, par défaut, le contrôle n’affiche pas de volet de gabarit ancré au démarrage, mais si vous utilisez la propriété Src pour spécifier un dessin qui affiche déjà un volet de gabarit ancré, ce volet sera visible dans la fenêtre Contrôle de dessin Visio. Pour afficher le volet de gabarit dans un dessin vide, utilisez la méthode Document.OpenStencilWindow dans le modèle d’objet Visio.

Par défaut, ni les menus Visio ni les barres d’outils Visio ne sont affichés dans le contrôle (bien que des menus contextuels soient disponibles). Toutefois, vous pouvez utiliser les propriétés NegotiateMenus et NegotiateToolbars du contrôle pour afficher ces éléments. Vous trouverez plus d’informations sur l’utilisation des propriétés personnalisées du contrôle de dessin Visio ultérieurement sous cette rubrique et dans les rubriques Propriétés NegotiateMenus et NegotiateToolbars de cette référence d’Automation.

Note À compter de Microsoft Visio 2010, l’interface utilisateur (IU) d’Office Fluent remplace le système précédent de menus en couches, de barres d’outils et de volets Office. Les objets VBA et les membres que vous avez utilisés pour personnaliser l’interface utilisateur dans les versions précédentes de Visio sont toujours disponibles dans Visio 2013, mais ils fonctionnent différemment.

Vous pouvez insérer plusieurs instances du contrôle de dessin Visio dans votre application. Toutefois, chaque instance du contrôle ne peut afficher qu’une seule fenêtre de dessin et un document.

Accès au modèle d’objet Visio

Pour accéder au modèle d’objet Visio, utilisez la propriété Window ou Document du contrôle de dessin Visio. Utilisez le code suivant pour obtenir un objet Window Visio :

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

Utilisez le code suivant pour obtenir un objet Document Visio :

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

Une fois que vous avez l’un de ces objets, vous pouvez utiliser la propriété Application de l’un ou l’autre objet pour obtenir l’objet Application Visio :

vsoWindow.Application
vsoDocument.Application

À l’aide de ces objets, vous avez accès à l’ensemble du modèle d’objet Visio. Par exemple, si vous souhaitez modifier l’interface utilisateur Visio pour n’afficher que la surface blanche de dessin Visio, sans la grille, barre de défilement, règles et onglets de page, vous pouvez utiliser le code suivant dans la procédure Form_Load() :

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

Les événements Visio, notamment les événements de souris et de clavier, sont disponibles directement en tant que membres de l’objet DrawingControl.

Après avoir eu accès au modèle d’objet Visio, vous pouvez utiliser tous les objets, méthodes, propriétés et événements standard du modèle pour automatiser et personnaliser le contrôle de votre programme. Pour plus d’informations sur l’utilisation des objets et des membres du modèle d’objet Visio, reportez-vous à la rubrique spécifique relative à l’objet ou au membre dans cette référence d’Automation.

N’étant pas prévu pour être incorporé dans une autre application, le contrôle de dessin Visio ne donne pas accès à Visual Basic Editor dans Visio. En conséquence, les macros Visual Basic pour Applications (VBA) d’un dessin Visio existant ouvert dans le contrôle ne s’exécutent pas.

En outre, le contrôle de dessin Visio ne donne pas accès à la feuille ShapeSheet Visio dans l’interface utilisateur. Toutefois, vous pouvez utiliser Automation pour récupérer et obtenir des valeurs et formules dans les cellules de la feuille ShapeSheet.

Utilisation des propriétés personnalisées du contrôle de dessin Visio

Le tableau suivant décrit les propriétés personnalisées accessibles dans le contrôle de dessin Visio.

Propriété Description
Document En lecture seule. Renvoie l’objet Document Visio associé à l’instance du contrôle de dessin Visio.
HostID Lecture-écriture. String. Renvoie ou définit le GUID ou une autre chaîne attribuée à la clé de registre qui identifie l’application conteneur hôte (votre programme exécutable). Il s’agit par défaut d’une chaîne vide.
NegotiateMenus Lecture-écriture. Boolean. Indique si le contrôle peut fusionner des barres d’outils avec celles de l’application conteneur hôte. La valeur par défaut est False.
NegotiateToolbars Lecture-écriture. Boolean. Spécifie si le contrôle peut fusionner des barres d’outils avec celles de l’application conteneur hôte. La valeur par défaut est False.
PageSizingBehavior Lecture-écriture. Type énuméré VisPageSizingBehavior. Indique comment les pages sont dimensionnées et comment les formes sont dimensionnées et positionnées lorsque des dessins Visio existants sont chargés dans des instances du contrôle.
Src Lecture-écriture. String. Indique le chemin d’accès et le nom de fichier du dessin Visio existant chargé dans une instance du contrôle au moment de l’exécution. Il s’agit par défaut d’une chaîne vide.
Window En lecture seule. Renvoie l’objet Fenêtre Visio associé à l’instance du contrôle de dessin Visio. La propriété Window n’est accessible que lorsque le contrôle est actif sur place.

Pour plus d’informations sur l’une de ces propriétés personnalisées et pour afficher des exemples de code qui montrent comment les utiliser, consultez les rubriques spécifiques associées à ces propriétés dans cette référence Automation.

Utilisation des événements de souris et de clavier avec le contrôle de dessin Visio

À compter de Visio 2003, les nouveaux événements clavier et souris ajoutés au modèle objet Visio permettent à votre programme de répondre aux entrées du clavier et de la souris de l’utilisateur dans le contrôle. Par exemple, vous pouvez percevoir les clics de souris sur des formes spécifiques du contrôle et inscrire le code pour les gérer. (Pour plus d’informations sur l’utilisation de ces événements pour exécuter des actions dans votre application hôte, reportez-vous à la section suivante de cette rubrique.)

Les nouveaux événements suivants sont disponibles :

  • KeyDown

  • KeyPress

  • KeyUp

  • MouseDown

  • MouseMove

  • MouseUp

Ces événements sont similaires aux événements Visual Basic qui ont les mêmes noms, bien qu’ils puissent prendre des arguments différents. Pour afficher la syntaxe et pour plus d’informations sur ces événements, consultez les rubriques spécifiques qui leur sont associées dans cette référence Automation. Pour plus d’informations sur les événements Visual Basic, voir l’aide de Visual Basic.

Intégration du contrôle de dessin Visio dans l’interface utilisateur de votre application

Utilisez des événements ou des modifications d’état dans votre application hôte pour modifier un dessin dans le contrôle de dessin Visio. En outre, vous pouvez utiliser des événements dans le contrôle de dessin Visio pour exécuter des actions ou modifications dans votre application hôte. Par exemple, vous pouvez utiliser des événements de souris ou de clavier dans le contrôle de dessin Visio pour afficher les éléments de l’interface utilisateur comme les formulaires et les zones de message dans votre application hôte. Le code suivant indique comment gérer un événement MouseDown (un clic de souris) dans le contrôle de dessin Visio pour afficher une zone de message dans votre application 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

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.