Partager via


Propriété KeyboardEvent.ToString (Visio)

Renvoie une chaîne qui représente les propriétés d'un objet KeyboardEvent ou MouseEvent. En lecture seule.

Syntaxe

expression. ToString

Expression Variable qui représente un objet KeyboardEvent .

Valeur renvoyée

Chaîne

Remarques

ToString est la propriété par défaut des objets KeyboardEvent et MouseEvent.

Lorsqu'un événement KeyDown, KeyPress ou KeyUp est déclenché, la propriété ToString renvoie une chaîne qui représente les propriétés de l'objet KeyboardEvent transmis à VisEventProc. La chaîne se présente de la façon suivante :

code d’événement ; Valeur de la propriété KeyCode ; Valeur de la propriété KeyButtonState ; Valeur de la propriété KeyAscii ; Window.Caption

code d'événement renvoie le code de l'événement déclenché et Window.Caption renvoie la légende de la fenêtre à l'origine de l'événement. Par exemple, si un utilisateur a appuyé sur la touche « L » tout en maintenant la touche Maj enfoncée, en réponse à l’événement KeyPress , ToString peut retourner

713;0;4;76;Dessin1

Lorsqu’un événement MouseDown, MouseMove ou MouseUp se déclenche, la propriété ToString renvoie une chaîne qui représente les propriétés de l’objet MouseEvent transmis à VisEventProc. La chaîne se présente de la façon suivante :

code d’événement ; Valeur de la propriété Button ; Valeur de la propriété KeyButtonState ; x valeur de propriété ; valeur de propriété y ; Window.Caption

code d'événement renvoie le code de l'événement déclenché et Window.Caption renvoie la légende de la fenêtre à l'origine de l'événement. Par exemple, si un utilisateur a cliqué sur le bouton gauche de la souris près du milieu de la page de dessin tout en maintenant la touche Maj enfoncée, en réponse à l’événement MouseDown , ToString peut retourner

709;1;5;4.3750003+000;4.265000+000;Dessin1

Pour plus d’informations sur les valeurs possibles retournées par chacune des propriétés individuelles représentées par la chaîne retournée par ToString, consultez les rubriques relatives aux propriétés respectives dans cette référence.

Exemple

L'exemple Microsoft Visual Basic pour Applications (VBA) suivant indique comment utiliser la méthode AddAdvise pour créer un objet Event qui recevra un événement MouseDown. Il utilise la propriété ToString de l'objet MouseEvent pour indiquer les détails de l'événement déclenché.

L’exemple contient un module de classe et deux procédures publiques qui sont insérées dans le projet ThisDocument du document Visio actif :

  • La procédure CreateEventObject crée une instance d'une classe d'objet récepteur (traitement d'événement) nommée clsEventSink transmise à la méthode AddAdvise et qui reçoit des notifications d'événement. En outre, la procédure crée un objet Event pour envoyer des notifications de déclenchement de l'événement MouseDown, dont l'objet Application est à l'origine, à un objet récepteur.

  • La procédure DeleteEventObject supprime cet objet Event lorsque votre programme a fini de l’utiliser.

La classe clsEventSink implémente l'interface IVisEventProc. Le module de classe crée une classe permettant de gérer les événements déclenchés par l'objet Application de Visio. Le module est constitué de la fonction VisEventProc qui utilise un bloc Select Case pour vérifier l'événement MouseDown. Lorsqu'un événement MouseDown est déclenché, Visio transmet un objet MouseEvent à VisEventProc comme pSujetObj. La fonction crée ensuite un message affichant la chaîne renvoyée par la propriété ToString de l'objet MouseEvent transmis à la fonction.

Les autres événements relèvent du cas par défaut (Case Else). Le bloc Case Else construit une chaîne ( strMessage ) qui contient le nom et le code d’événement de l’événement qui s’est déclenché. Enfin, la fonction affiche la chaîne dans la fenêtre Exécution.

L'exemple implique qu'un document actif se trouve dans la fenêtre de l'application Visio. Copiez le code suivant dans le projet ThisDocument dans Visual Basic Editor :

Option Explicit 
 
Private mEventSink As clsEventSink 
 
'Declare visEvtAdd as a 2-byte value 
'to avoid a run-time overflow error 
Private Const visEvtAdd% = &H8000 
 
Public Sub CreateMouseDownEventObject() 
 
 Dim vsoApplicationEvents As Visio.EventList 
 Dim vsoMouseDownEvent As Visio.Event 
 
 'Create an instance of the clsEventSink class 
 'to pass to the AddAdvise method. 
 Set mEventSink = New clsEventSink 
 
 'Get the EventList collection of the application 
 Set vsoApplicationEvents = Application.EventList 
 
 'Add an Event object for the MouseDown event 
 'that will send notifications. 
 Set vsoMouseDownEvent= vsoApplicationEvents.AddAdvise( _ 
 visEvtCodeMouseDown, mEventSink, "", "Mouse down...") 
 
End Sub 
 
Public Sub DeleteMouseDownEventObject() 
 
 'Delete the Event object for the MouseDown event 
 vsoMouseDownEvent.Delete 
 Set vsoMouseDownEvent = Nothing 
 
End Sub

Copiez le code suivant dans un nouveau module de classe dans VBA, en nommant le module clsEventSink.

Implements Visio.IVisEventProc 
 
Private Function IVisEventProc_VisEventProc( _ 
 ByVal nEventCode As Integer, _ 
 ByVal pSourceObj As Object, _ 
 ByVal nEventID As Long, _ 
 ByVal nEventSeqNum As Long, _ 
 ByVal pSubjectObj As Object, _ 
 ByVal vMoreInfo As Variant) As Variant 
 
 Dim strMessage As String 
 Dim vsoMouseDownEvent As Visio.MouseEvent 
 
 'Find out which event fired 
 Select Case nEventCode 
 Case visEvtCodeMouseDown 
 Set vsoMouseEvent = pSubjectObj 
 strMessage = "ToString is: " & vsoMouseEvent.ToString 
 Case Else 
 strMessage = "Other (" & nEventCode & ")" 
 End Select 
 
 'Display the event name and the event code 
 Debug.Print strMessage 
 
End Function

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.