Za pomocą skryptu można dodać do menu Programy narzędziowe jeden lub kilka punktów menu. W tym celu stosowany jest atrybut [DeclareMenu] w odpowiednim skrypcie i za pośrednictwem tego atrybutu wywoływana jest funkcja MenuFunction(). Jeśli teraz zostanie wczytany skrypt, to zostanie utworzony punkt menu określony funkcją AddMenuItem.
Zatem ogólny schemat struktury odpowiedniego skryptu w C# wygląda następująco:
public class <ScriptName> { [DeclareMenu] public void MenuFunction() { Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu(); oMenu.AddMenuItem("<MenuText>","<ActionName>"); } }
Punkt menu powiązany jest zawsze z akcją wywoływaną, jeśli odpowiedni punkt menu zostanie wywołany. Oznacza to, że albo skrypt deklaruje dodatkową akcję (za pośrednictwem [DeclareAction]), albo punkt menu jest przyporządkowany do istniejącej już akcji.
Poniższy przykład pokazuje skrypt w języku C# deklarujący akcję i punkt 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"); } }
W powyższym przykładzie funkcja AddMenuItem() z klasy Eplan.EplApi.Gui.Menu tworzy nowy punkt menu MyMenuText i wiąże go z akcją MyScriptActionWithMenu.
Ten sam przykład w języku Visual Basic.Net wygląda następująco:
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
Zobacz również