スクリプトを使用して、[ユーティリティ] メニューに 1 つまたは複数のアイテムを追加できます。これには、[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() 関数によりメニュー アイテム MyMenuText が Eplan.EplApi.Gui.Menu クラスから生成され、これが 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
関連項目