С помощью сценария можно добавить к меню Сервисные программы один или несколько пунктов меню. Для этого в соответствующем сценарии используется атрибут [DeclareMenu], через этот атрибут вызывается функция MenuFunction(). При загрузке сценария создается пункт меню, определяемый через функцию AddMenuItem.
Общая структура соответствующего сценария C# выглядит так:
public class <ScriptName>
{
[DeclareMenu]
public void MenuFunction()
{
Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu();
oMenu.AddMenuItem("<MenuText>","<ActionName>");
}
}
Пункт меню всегда связан с операцией, которая вызывается при выполнении пункта меню. Это означает, что либо сценарий дополнительно регистрирует операцию (через [DeclareAction]), либо пункт меню присваивается уже существующей операции.
Следующий пример демонстрирует сценарий на C#, который регистрирует операцию или пункт меню:
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");
}
}
В вышеприведенном примере функция AddMenuItem() из класса Eplan.EplApi.Gui.Menu создает новый пункт меню MyMenuText и соединяет его с операцией MyScriptActionWithMenu.
Аналогичный пример в Visual Basic.Net выглядит следующим обр.:
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
См. также
