| << 目次を表示 >> ページ位置: API・アドイン・スクリプト > アドイン > アドインの作業 > メニュー項目の定義 | 
トピック:
| 項目 | 説明 | 
| メニュー項目の定義 | メニュー項目は、GetMenuItemsイベントの対応として定義できます。 最初にこのイベントが呼ばれた場合には、MenuNameは空文字列です。これはトップレベルメニューを表しています。単純なアドインの場合には、次の例のようなメニューになるでしょう。 
 public object EA_GetMenuItems(EA.Repository repository, string menuLocation, string menuName) { return "独自のメニュー"; } 
 最上位には、1つのアドインについて1つの項目のみ作成可能です。 | 
| サブメニューの定義 | もしアドインに複数のメニュー項目を持たせたい場合には、サブメニューの作成が必要です。 サブメニューを定義したい場合には、親メニューの頭に-(ハイフン)を付加します。 以下は定義例です。 
 public object EA_GetMenuItems(EA.Repository repository, string menuLocation, string menuName) { return "-独自のメニュー"; } 
 
 さらに、サブメニューの定義が必要です。サブメニューの定義は次のようになります。メニュー間に区切り線(セパレータ)を追加したい場合には、"-"という文字列を追加します。 
 public object EA_GetMenuItems(EA.Repository repository, string menuLocation, string menuName) { if (menuName != "-独自のメニュー") { return "-独自のメニュー"; } 
 string[] menus = { "項目1", "-", "項目2" }; return menus; } | 
| 追加のサブメニュー | サブメニューは階層化できます。 
 public object EA_GetMenuItems(EA.Repository repository, string menuLocation, string menuName) { switch(MenuName) { case "": EA_GetMenuItems = "-Joe's Add-In"; break; case "-Joe's Add-In": EA_GetMenuItems = Array("-&Diagram", "&TreeView"); break; case "-&Diagram": EA_GetMenuItems = "&Properties"; break; } } | 
| メニュー項目の有効・無効の設定 | もしメニュー項目の有効・無効を制御したい場合には、次のような方法で特定の項目のみを利用可能にできます。 
 public void EA_GetMenuState(EA.Repository repository, string menuLocation, string menuName, string itemName, ref bool isEnabled, ref bool isChecked) { if (itemName == "項目1") { isEnabled = false; return; } 
 isEnabled = true; return; } |