FAQ
アドイン等のツールバーやコマンドを取得・検索する方法

ナレッジ番号:5309 | 登録日:2023/07/26 | 更新日:2023/12/28

概要

アドインのツールバーを検索するには、ツールバーを示す UID を ICommandbars::Find に与えて検索を行います。アドイン ツールバーの UID は Visual Studio プロジェクトの Config.esriaddinx 内に記述されている <Toolbar> タグの id プロパティに記載されます。

例: <Toolbar id="EsriJapan_ArcMapAddincs_My_Toolbar" caption="My Toolbar" showInitially="true">

上記の場合、ツールバーの UID は "EsriJapan_ArcMapAddin1_My_Toolbar" になります。アドイン ボタンやツールも同様に検索ができ、ボタンの場合の UID は <Button> タグの id プロパティ、ツールの場合は、<tool> タグの id プロパティに UID が記述されています。

ArcMap で標準で用意されているツール等の UID は、こちらのヘルプ から確認することができます。

サンプル コード

キャプションの取得

下記は "EsriJapan_ArcMapAddin1_My_Toolbar" の UID をもつツールバーを検索し、 そのキャプションを出力するサンプルです。このコードは ArcMap アドインを想定しています。
IUID pUID = new UID();
pUID.Value = "EsriJapan_ArcMapAddincs_My_Toolbar"; //Toolbar GUID"
ESRI.ArcGIS.Framework.ICommandItem pCommandItem;
pCommandItem = ArcMap.Application.Document.CommandBars.Find(pUID, false, false);
System.Diagnostics.Debug.Print(pCommandItem.Caption);
Dim pUID As New UID
pUID.Value = "EsriJapan_ArcMapAddin1_My_Toolbar"  ' Toolbar GUID"
Dim pCommandItem As ESRI.ArcGIS.Framework.ICommandItem
pCommandItem = My.ArcMap.Application.Document.CommandBars.Find(pUID,False, False)
System.Diagnostics.Debug.Print(pCommandItem.Caption)

カレント ツールの設定

ArcMap で使用するデフォルトのツールを設定することができます。その場合、IApplication::CurrentTool プロパティを利用します。

UID pUID = new UIDClass();
pUID.Value = "{78FFF793-98B4-11D1-873B-0000F8751720}"; //[フィーチャの選択] ツール

ICommandBars pCommandBars = ArcMap.Application.Document.CommandBars; 
ICommandItem pCommandItem = pCommandBars.Find(pUID, false, false);

//カレント ツールの設定
ArcMap.Application.CurrentTool = pCommandItem;

メタデータ

種類

製品