第2节基于DLL的ArcGIS互操作开发

第2节基于DLL的ArcGIS互操作开发

ID:41551669

大小:82.34 KB

页数:4页

时间:2019-08-27

第2节基于DLL的ArcGIS互操作开发_第1页
第2节基于DLL的ArcGIS互操作开发_第2页
第2节基于DLL的ArcGIS互操作开发_第3页
第2节基于DLL的ArcGIS互操作开发_第4页
资源描述:

《第2节基于DLL的ArcGIS互操作开发》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第2节基于DLL的ArcGIS互操作开发一、实验目的:掌握开发DLL扩展ArcGISDesktop功能的方法二、实验学时:2学时三、实验内容与步骤:1、新建类库项目。打开VisualStudio.NET2008开发环境,新建项目,在模板中选择“类库”,名称屮填写“RectToZoom”,保存项目,新建类库项目完成。如图2・1所示。删除文件Classl.cso图2J新建项冃对话框2、引入ESRI对象库。在“解决方案管理器”引用上右击,选择“添加引用”,在其“.NET”栏选择ESRI.ArcGIS.ADF、ESRI.ArcGIS.Carto、ESRI.ArcGIS.Controls

2、、ESRI.ArcGIS.Display、ESRI.ArcGIS.Geometry、ESRI.ArcGIS.System、ESRI.ArcGIS.SystemUI,将其引入项目。3、创建类Zoom,编码类Zoom,实现拉框放大功能的工具。(1)创建功能类Zoom在“解决方案管理器”中选择项目"RectToZoom",右击选择“添加”9“添加新项”,创建类文件Zoom.cso添加相关引用。^ZoomJn参考代码:usingSystem;usingSystem.Rimhme.InteropSerWces;//用」•系统加件操作usingSystem.Collections.Gene

3、ric;usingSystem.Drawing;//^于图标操作usingSystem.Text;usingESRI.ArcGIS.Carlo;usingESRI.ArcGfS.Geometry;usingESRI.ArcGIS.Controls;usingESR1.ArcGIS.Display;namespaceRectToZoom{publicclassZ()om:ESRLArcGIS.ADF.BaseClasses.BaseTool{}(2)设置抽象类ESRI.ArcGIS.ADF.BaseClasses.BaseTool◊对类Zoom继承抽象类ESRLArcGIS.AD

4、F.BaseClasses.BaseTool,并实现抽象类。如图2T所示。publicclassZoom:ESRI.ArcGIS.ADF.EaseClasses.®^(R)►组织using(O)►实灘竝(A)图2・2实现抽象类◊定义全局变量privatelliookHelpermJwokHelper=null;privateESRI.ArcGIS.Geometiy.IEnvelopem_envolope=null;privateESRLArcGIS.Carlo.IActiveViewm_activeView=null;privateESRI.ArcGIS.Display.IRu

5、bberBandmjrubberRect-null;◊实现OnCreate()方法publicoverridevoidOnCreatefobjecthook)//thrownewNotImplementedException();mJwokHelper=newESRI.ArcGIS.Controls.HookHelperClassf);mJwokHelper.Hook=hook;if(in^hookHelper.ActiveView==null){m_hookHelper=null;}}catchImJwokHelper=null;}if(mJwokHelper==mill)b

6、ase.m_encibled=false;elsebase.m_enabled=true;◊实现OnMouseDown()方法publicoverridevoidOnMouseDown(intButton,intShift、intX,intY)Im_activeView=rnJrookHelper.ActiveView;m_rubberRect=newESRI.ArcGIS.Display.RubberEnvelopeClass();m_envolope=m_rubberRect.TrackNew(m_activeView.ScreenDisplay9null)aslEnvel

7、ope;m_envolope.Expcmd(I/2.0,I/2.09true);m^activeView.Extent=m_envolope:m_activeView.Refresh();◊类Zoom的构造函数publicZoonif){base.m_category=flRectToZoomr,;base.in_caption=frZ()omIn2XToolr,;base.mjnessa^e="Z()()mIn2XToo「;base.rn_toolTip="ZoomIn2XToolbase

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。