none
C# - Intercepter les hyperliens dans un Add-in Visio RRS feed

  • Question

  • Bonjour,


    Je cherche à savoir comment intercepter les hyperliens lorsqu'un utilisateur les clique sans avoir accès aux boutons.


    Pour le moment j'utlise :

    //Dans l'évènement opened_Document
    this.Application.EnterScope += new EApplication_EnterScopeEventHandler(Action_When_Event);


    //dans la classe principale
    private void Action_When_Event(Application app, int scopeID, String description)
    {
       
    if (scopeID == 6300) // ID de l'evenement hyperlien
       
    {
             
    // this is where I redirect the hyperlink
       
    }
    }

    Mais j'ai beau chercher dans Application.ActiveWindow.Selection, je ne trouve rien qui m'indique lequel des hyperliens de la forme est cliqué.

    Si quelqu'un a la solution, merci pour votre réponse.

    • Déplacé Ciprian Duduiala lundi 26 mars 2012 07:31 question d'Office (Origine :Développement .NET (en général))
    jeudi 22 mars 2012 14:18

Réponses

  • Bonjour,

    Il n'existe pas d'évènement "Hyperlink" associé aux formes, aux pages, aux document ou à l'application. En revanche comme tu l'as constaté, le fait d'activer un hyperlien fait entrer Visio dans le scope 6300 pour le premier hyperlien de la forme, 6301 pour le 2ème hyperlin de la forme, 6302 pour le 3ème hyperlien (Attention l'ordre est celui d'affichage dans le menu et non l'ordre de la ligne dans la ShapeSheet). Il faut donc qu'a l'entrée dans le scope tu récupères la sélection (app.ActiveWidow.Selection) et que tu itères dans la sélection pour récupérer la forme et éventuellement les infos de l'hyperlien associé dans la section Hyperlien de la ShapeSheet.


    Michel LAPLANE (MVP Visio)


    Si cette réponse résout votre problème, merci de la noter comme une réponse. Si elle vous a aidé, merci de la noter comme utile.
    Et et n'oubliez pas www.visualblog.fr

    lundi 26 mars 2012 10:28

Toutes les réponses

  • Bonjour,

    Il n'existe pas d'évènement "Hyperlink" associé aux formes, aux pages, aux document ou à l'application. En revanche comme tu l'as constaté, le fait d'activer un hyperlien fait entrer Visio dans le scope 6300 pour le premier hyperlien de la forme, 6301 pour le 2ème hyperlin de la forme, 6302 pour le 3ème hyperlien (Attention l'ordre est celui d'affichage dans le menu et non l'ordre de la ligne dans la ShapeSheet). Il faut donc qu'a l'entrée dans le scope tu récupères la sélection (app.ActiveWidow.Selection) et que tu itères dans la sélection pour récupérer la forme et éventuellement les infos de l'hyperlien associé dans la section Hyperlien de la ShapeSheet.


    Michel LAPLANE (MVP Visio)


    Si cette réponse résout votre problème, merci de la noter comme une réponse. Si elle vous a aidé, merci de la noter comme utile.
    Et et n'oubliez pas www.visualblog.fr

    lundi 26 mars 2012 10:28
  • C'est exactement ce qu'il me fallait ! Merci pour votre aide qui résoud parfaitement mon problème !
    mardi 27 mars 2012 10:24