Met behulp van een script kunt u aan het menu Hulpprogramma's een of meerdere menuopdrachten toevoegen. Daartoe wordt in het betreffende script het attribuut [DeclareMenu] gebruikt en wordt via dit attribuut de functie MenuFunction() opgeroepen. Als het script dan wordt geladen, wordt de menuopdracht gegenereerd die door de functie AddMenuItem wordt gespecificeerd.
De algemene opbouw van een dergelijk C#-script ziet er als volgt uit:
public class <ScriptName> { [DeclareMenu] public void MenuFunction() { Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu(); oMenu.AddMenuItem("<MenuText>","<ActionName>"); } }
Een menuopdracht is altijd gekoppeld met een actie, die wordt opgeroepen als de menuopdracht wordt uitgevoerd. Dat betekent dat het script een nieuwe actie aanmeldt (via [DeclareAction]) of dat de menuopdracht aan een bestaande actie wordt toegewezen.
Het volgende voorbeeld toont een script in C#, dat een actie en een menuopdracht aanmeldt:
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"); } }
In het bovengenoemde voorbeeld genereert de functie AddMenuItem() uit de klasse Eplan.EplApi.Gui.Menu de nieuwe menuopdracht MyMenuText en wordt deze menuopdracht gekoppeld met de actie MyScriptActionWithMenu.
Hetzelfde voorbeeld in Visual Basic.Net ziet er als volgt uit:
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
Zie ook