2012-03-22 38 views
0

我在C#中用Visual Studio 2010做了一個Visio 2007加載項,下一步是截取「單擊超鏈接」事件。在C#中爲Visio加載項攔截超鏈接事件

由於我的一些超鏈接的方式不正確,我需要將呼叫重定向到另一個鏈接。並對待答案。

現在,我這是怎麼抓住他們:

//in the opened_Document event 
this.Application.EnterScope += new EApplication_EnterScopeEventHandler(Action_When_Event); 


//in the main class 
private void Action_When_Event(Application app, int scopeID, String description) 
{ 
    if (scopeID == 6300) // ID of the hyperlink event 
    { 
     // this is where I redirect the hyperlink 
    } 
} 

這是可行的。但我不知道如何獲取URL,也不知道爲什麼在我的入口事件之前處理另一個動作。

如果有人有答案或其他實施,請不要猶豫。

回答

0

滑完德nombreuses RECHERCHES,voici LA的解決方案:

伊爾n'existe PAS D'évènement 「超鏈接」 associé輔助印版,輔助頁面,輔助文件甌A L'應用。 En revanche,le fait d'activer un hyperlien fait entrer Visio dans le scope 6300 pour le premier hyperlien de la forme,6301 pour le2èmehyperlin de la forme,6302 pour le3èmehyperlien(Attention l'ordre est celuel d'affichage dans le menu et non l'ordre de la ligne dans la ShapeSheet)。 Il faut donc,àl'entréedans le scope,récupérerlasélection(app.ActiveWidow.Selection)etitérerdans lasélectionpourrécupérerla forme etéventuellementles infos de l'hyperlienassociédans la section la Hyperlien de la ShapeSheet。