欢迎来到天天文库
浏览记录
ID:8429873
大小:30.36 KB
页数:3页
时间:2018-03-27
《关于toccontrol控件的使用课程设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、ArcEngine实验指导书二TOCControl控件的使用实验名称:TOCControl控件的使用实验目的:熟悉TOCControl控件中的HitTest函数的使用。实验重点:掌握HitTest函数使用实验难点:HitTest函数的参数意义实验内容:1、创建“两个上下文菜单”,根据用户在TOCControl控件中点击右键的位置,分别弹出不同的菜单。2、根据菜单点击事件中调用ArcEngine提供的命令,执行相关的操作。操作步骤:添加TOCControl控件鼠标OnMouseDown事件,判断e.button=1鼠标左键,
2、e.button==2鼠标右键。privatevoidaxTOCControl1_OnMouseDown(objectsender,ESRI.ArcGIS.Controls.ITOCControlEvents_OnMouseDownEvente){}参照代码:privatevoidaxTOCControl1_OnMouseDown(objectsender,ESRI.ArcGIS.Controls.ITOCControlEvents_OnMouseDownEvente){ILayerpLyr=null;ObjectpInd
3、ex=null;IBasicMappMap=null;ObjectpOther=null;esriTOCControlItempItem=newesriTOCControlItem();//调用HitTest方法()axTOCControl1.HitTest(e.x,e.y,refpItem,refpMap,refpLyr,refpOther,refpIndex);if(e.button==1){switch(pItem)//pItem是判断鼠标点击部位的关键{caseesriTOCControlItem.esriTOCC
4、ontrolItemLayer:if(pLyr==null)return;//如果没有点击到图层MessageBox.Show("您点击了图层""+pLyr.Name+""的名称");if(pLyrisIAnnotationSublayer)return;//如果点击的是注记层,则退出if(pLyrisIFeatureLayer)//矢量图层{IFeatureLayerpFeatureLayer=pLyrasIFeatureLayer;}if(pLyrisIRasterLayer);//栅格图层break;casees
5、riTOCControlItem.esriTOCControlItemLegendClass:MessageBox.Show("您点击了图层""+pLyr.Name+""的图例");break;caseesriTOCControlItem.esriTOCControlItemMap:MessageBox.Show("您点击了名称为""+pMap.Name+""的Map"+"对象的名称,它包含""+pMap.LayerCount+""个图层");break;caseesriTOCControlItem.esriT
6、OCControlItemNone:MessageBox.Show("您点击了TocControl控件的空白处。");break;default:break;}}elseif(e.button==2){axMapControl1.CustomProperty=pLyr;if(pLyr!=null&&pItem==esriTOCControlItem.esriTOCControlItemLayer)contextMenuStrip1.Show(axTOCControl1,e.x,e.y);}}privatevoid删除图层T
7、oolStripMenuItem_Click(objectsender,EventArgse){ILayerpLayer=axMapControl1.CustomPropertyasILayer;for(inti=0;i8、lick(objectsender,EventArgse){ICommandcommand=newControlsOpenDocCommandClass();command.OnCreate(axMapControl1.Object);command.OnClick();}privatevoid查找To
8、lick(objectsender,EventArgse){ICommandcommand=newControlsOpenDocCommandClass();command.OnCreate(axMapControl1.Object);command.OnClick();}privatevoid查找To
此文档下载收益归作者所有