Com ajuda de um script pode inserir no menu Utilitários um ou vários itens de menu. Para esse efeito, é utilizado no respectivo script, o atributo [DeclareMenu] e através deste atributo é chamada a função MenuFunction(). Quando o script for carregado, é gerado o item de menu que é especificado através da função AddMenuItem.
A estrutura geral de um script C# correspondente terá o seguinte aspeto:
public class <ScriptName> { [DeclareMenu] public void MenuFunction() { Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu(); oMenu.AddMenuItem("<MenuText>","<ActionName>"); } }
Um item de menu está sempre ligado a uma ação que é chamada quando o item de menu é executado. Isto significa que ou o script regista adicionalmente uma ação (através de [DeclareAction]) ou o item de menu foi atribuído a uma ação já existente.
O seguinte exemplo apresenta um script C# que regista uma ação e um item 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"); } }
No exemplo apresentado acima, a função AddMenuItem() da classe Eplan.EplApi.Gui.Menu gera o novo item de menu MyMenuText e liga-o à ação MyScriptActionWithMenu.
O mesmo exemplo em Visual Basic.Net tem o seguinte aspeto:
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
Veja também