Tramite uno script è possibile aggiungere al menu Programmi servizio una o più voci di menu. A tale scopo, nello script corrispondente viene utilizzato l'attributo [DeclareMenu] e tramite questo attributo viene richiamata la funzione MenuFunction(). Se lo script verrà caricato, verrà generata la voce di menu specificata dalla funzione AddMenuItem.
Il layout generale di uno script corrispondente C# si presenta come segue:
public class <ScriptName> { [DeclareMenu] public void MenuFunction() { Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu(); oMenu.AddMenuItem("<MenuText>","<ActionName>"); } }
Una voce di menu è sempre collegata a un'azione che viene richiamata quando la voce di menu viene eseguita. Ciò significa che se lo script non registra un'azione in aggiunta (tramite [DeclareAction]) la voce di menu viene assegnata a un'azione già esistente.
L'esempio seguente mostra uno script in C# che registra un'azione e una voce di 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"); } }
Nell'esempio sucitato, la funzione AddMenuItem() della classe Eplan.EplApi.Gui.Menu genera la nuova voce di menu MyMenuText e la collega all'azione MyScriptActionWithMenu.
Lo stesso esempio in Visual Basic.Net apparirà come segue:
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
Vedere anche