private IMapControl3 m_mapControl;
private ITOCControl2 m_pTocControl;
private IToolbarMenu m_pMenuLayer;
private void Form1_Load(object sender, EventArgs e)
{
axTOCControl1.SetBuddyControl(axMapControl1);
m_pMenuLayer = new ToolbarMenuClass();
m_pMenuLayer.AddItem(new RemoveLayer(), -1, 0, false, esriCommandStyles.esriCommandStyleTextOnly);
m_pMenuLayer.AddItem(new ZoomToLayer(), -1, 1, true, esriCommandStyles.esriCommandStyleTextOnly);
m_pMenuLayer.SetHook(m_mapControl);
}
private void axTOCControl1_OnMouseDown(object sender, ITOCControlEvents_OnMouseDownEvent e)
{
if (e.button != 2) { return; }
esriTOCControlItem pItem = esriTOCControlItem.esriTOCControlItemNone;
IBasicMap pMap = null;
ILayer pLayer = null;
object pOther = null;
object pIndex = null;
m_pTocControl = (ITOCControl2)axTOCControl1.Object;
m_pTocControl.HitTest(e.x, e.y, pItem, ref pMap, pLayer, pOther, pIndex);
if (pItem == esriTOCControlItem.esriTOCControlItemLayer)
{ m_pTocControl.SelectItem(pLayer, null); }
m_mapControl.CustomProperty = pLayer;
if (pItem == esriTOCControlItem.esriTOCControlItemLayer)
{ m_pMenuLayer.PopupMenu(e.x, e.y, m_pTocControl.hWnd); }
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/109102.html
標籤:組件/控件開發
