私は、ESRIアドインボタン(ArcGIS 10.2およびWindows 7)で起動するウィンドウフォームを持っています。私のフォームには、マップからポイントを選択するボタンがあります。 OnMouseDownイベントを持つESRI BaseToolクラスをプロジェクトに追加しました。ArcGISのWindowsフォームからピックポイントを実行
問題は、ツールを実行することができないということです。ツールはArcGISコマンドバーにはありませんが(ボタンのように)、Find(uid)プロセスによってツールが見つかることに注意してください。
ツールが(ArcGIS Add BaseToolプロセスを使用して)プロジェクトに追加されたときに、.esriaddinxファイルが更新されませんでした。私は手動でそれをしなければならなかった。
マイアドインファイルです:
<AddIn language="CLR4.0" library="HVLR_Processing.dll" namespace="HVLR_Processing">
<ArcMap>
<Commands>
<Button id="RMS_HVLR_Processing_clsHVLR_Processing" class="clsHVLR_Processing" ...
<Tool id="HVLR_PickTool" class="clsMapPick" category="Add-In Controls" caption="" message="" tip="" image="" />
</Commands>
</ArcMap>
clsMapClickコードがOnMouseDownイベントのが含まれています。
私は多くの方法を試してみました。私はツールを取得することができますが、私はそれを実行する(またはそれをCurrentToolに割り当てる)と何も起こりません。
UID pUID;
ICommandItem pCmdItem;
ICommand pCmd;
clsMapPick pPick;
ITool pTool;
try
{
this.WindowState = FormWindowState.Minimized;
m_pApp.CurrentTool = null;
pUID = new UIDClass();
pUID.Value = "HVLR_PickTool";
pCmdItem = m_pApp.Document.CommandBars.Find(pUID, false, false);
if (pCmdItem != null)
{
m_pApp.CurrentTool = pCmdItem; // Nothing happens
m_pApp.CurrentTool.Execute(); // Nothing happens
m_pApp.CurrentTool.Refresh();
}
}
catch (Exception ex)
このツールを実行する方法を教えてもらえますか?