A l'aide d'un script, vous pouvez ajouter un ou plusieurs éléments au menu Utilitaires . Pour ce faire, l'attribut [DeclareMenu] est ajouté au script correspondant. Cet attribut permet d'appeler la fonction MenuFunction(). Lorsque le script est chargé, l'élément de menu spécifié par la fonction AddMenuItem est généré.
La structure générale d'un script C# de ce type est semblable à ce qui suit :
public class <ScriptName> { [DeclareMenu] public void MenuFunction() { Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu(); oMenu.AddMenuItem("<MenuText>","<ActionName>"); } }
Un élément de menu est toujours associé à une tâche qui est appelée en cas d'appel de l'élément de menu en question. Par conséquent, soit le script déclare une action supplémentaire (via [DeclareAction]), soit l'élément de menu est attribué à une tâche existante.
L'exemple suivant montre un script en C# qui déclare une tâche et un élément de menu :
public class RegisterScriptMenu { [DeclareAction("MyScriptActionWithMenu")] public void MyFunctionAsAction() { MessageBox.Show("MyFunctionAsAction was called!", "RegisterScriptMenu"); return; } [DeclareMenu] public void MenuFunction() { Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu(); oMenu.AddMenuItem("MyMenuText", "MyScriptActionWithMenu"); } }
Dans l'exemple présenté ci-avant, la fonction AddMenuItem() génère, à partir de la classe Eplan.EplApi.Gui.Menu, le nouvel élément de menu MyMenuText et l'associe à la tâche MyScriptActionWithMenu.
Le même exemple en Visual Basic.Net ressemble à ce qui suit :
Public Class RegisterScriptMenu <DeclareAction("MyScriptActionWithMenu")> _ Public Sub MyFunctionAsAction() MessageBox.Show("MyFunctionAsAction was called!", "RegisterScriptMenu") Return End Sub 'MyFunctionAsAction <DeclareMenu()> _ Public Sub MenuFunction() Dim oMenu As New Eplan.EplApi.Gui.Menu() oMenu.AddMenuItem("MyMenuText", "MyScriptActionWithMenu") End Sub 'MenuFunction End Class 'RegisterScriptMenu
Voir aussi