




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 城市与旅游学院张会霞组件对象模型组件对象模型.net.net平台概述平台概述arcgis enginearcgis engine简介简介- -体系结构体系结构n1、新建项目n启动vs2005,选择“文件|新建|项目”,在项目类型中选择visual c#,再选择windows应用程序模板,输入名称“3sdnmap”,点击确定。n在解决方案管理器中将“form1.cs”重命名为“3sdnmap.cs”,在设计视图中,选中窗体,将其属性中的“text”改为“3sdnmap”。n2、添加控件n选择工具箱中的“菜单和工具栏|menustrip”,将其拖入窗体。n选择工具箱中的“arcgis windo
2、ws forms”节,将“toolbarcontrol”控件拖入窗体,并将其属性中的dock设置为top。n选择工具箱中的“菜单和工具栏|statusstrip”,将其拖入到窗体。n选择工具箱中的“容器|splitcontainer”容器拖入窗体,并将其属性中的dock设置为fill。n将tabcontrol控件拖入panel1,将alignment属性设置为bottom,dock属性设置为fill。点击tabpages属性右边的按钮,弹出tabpage集合编辑器,将tabpage1的name设置为tabpagelayer,text设置为图层,将tabpage2的name设置为tabpagep
3、roperty,text设置为属性。如下所示。n选择“图层”选项卡,拖入toccontrol控件,设置dock属性为fill。n选择“属性”选项卡,拖入datagridview控件,设置dock属性为fill。n拖入tabcontrol控件到panel2,设置dock属性为fill。并上述类似的方法,将两个选项卡的name和text分别设置为:(tabpagemap、地图),(tabpagelayout,制版)。n选择“地图”选项卡,拖入mapcontrol控件,设置dock属性为fill。n选择“制版”选项卡,拖入pagelayoutcontrol控件,设置dock属性为fill。n最后将l
4、icensecontrol控件拖入到窗体的任意地方。n按f5编译运行,可以看到刚才布局好的程序界面了。n3、控件绑定n通过以上步骤添加的控件还只是单独存在,而我们的程序需要各控件间协同工作,因此要进行控件绑定。 n分别右击toolbarcontrol、toccontrol控件,将buddy设置为axmapcontrol1,如下图所示。n4、添加工具n此时,工具条中还没有任何工具,添加的方法也很简单。右击toolbarcontrol,选择“属性|items”,点击add,选择commands选项卡中的generic,双击open、saveas、redo、undo即可将相应工具添加到工具条。n常见
5、的工具有:nmap navigation中的导航工具,map inquiry中的查询工具,feature selection中的选择工具,你可以根据需要酌情添加工具。n5、编译运行n按f5即可编译运行程序,至此桌面gis应用程序框架基本框架已经搭建好了,你可以通过工具条的工具打开地图文档,浏览地图了,效果如开篇所示.arcgis enginearcgis engine介绍介绍- -类库类库地理信息系统基本功能的设计开发地理信息系统基本功能的设计开发n图层的加载n鹰眼功能的实现n地图文档的保存nmapcontrol 控件可以使用addlayerfromfile方法添加一个图层文件,使用addsh
6、apefile添加一个shape文件,使用addlayer快速添加一个图层,使用deletelayer快速删除一个图层,使用movelayerto改变一个图层的索引等。鹰眼功能的实现鹰眼功能的实现n鹰眼又叫缩略图或导航图,是一个快速浏览全图的工具,n下面的示例中有两个地图控件,要实现鹰眼功能,关键是让两个控件数据保持一致,以及如何绘制鹰眼控件的显示方框。n在主控件中使用鼠标拖曳视图的时候,主窗体视图的范围发生变化后,会触发控件的onextentupdated事件,绘制方框的方法就在这个事件中进行,鸟瞰控件中出现红色矩形框,并在每次绘制一次新矩形的时候将前一个矩形框元素删除。narcobject
7、s中开发者必须理解的类有三种类型:抽象类(abstract classes)、组件对象类(coclasses)和类(classes)。抽象类不能创建对象,只是对其子类的实例化进行了规定(通过类型继承)。arcobjects的dataset或geometry类就是抽象类的例子。不能创建geometry类型的对象,但可以创建polyline类型的对象。polyline对象实现了在geometry基类中定义的接口,因此在基于对象类中定义的任何接口都可以从组件对象类访问。numl模型图中的类有三种类型:抽象类、组件对象类和类n 抽象类、组件对象类和类之间存在多种可能的关系n 类型继承用来定义共享父类的
8、属性和方法,但同时又有自己的属性和方法的特定类。接口概念是com的基本概念。在讨论com接口时,com规范(微软,1995)着重强调以下四点: n接口不是类。接口不能实例化自身,因为其上没有实现。 n接口不是对象。接口是一个相关功能组,是客户和对象之间通信的二进制标准。n接口具有很强的类型性。每个接口都有自己的接口标识符,因此消除了具有人们易读相同名字接口间可能的冲突。 n接口是不变的。接口从来没有版本。一旦接口被定义和公布就不能改变。 n 这个模型图展示了表达为接口的公共行为如何在多个对象(本例中是动物)间共享,以支持多态。 comcom类和接口n使用com开发就意味着用接口开发,即所谓的基
9、于接口的编程模式。n对象间的所有通信都是通过其接口实现的。n接口的实现方法随对象不同而不同。n类和接口通常被称为com的“什么”和“怎么”。接口定义对象能做什么,而类定义怎么做。n两个类可以具有相同的接口,但它们实现这些接口的方法可能完全不同。n下面以识别一个简单的对象及其支持的接口作为开始。在这个例子中,会使用一个point对象和ipoint接口。为这个点设置坐标的一种方法就是在ipoint接口上调用putcoords方法并传入坐标值。 ndim ppt as ipoint nset ppt = new point nppt.putcoords 100, 100n这个简单代码块的第一行举例说明了持有该对象支持接口的引用的用法。n代码块中的第二行创建了对象或组件对象类的一个实例n第三行代码调用putcoords方法操作方法操作方法n方法执行某种动作,并且可能返回值或不返回值。在有些情况下,方法返回的值是一个接口。n在其他情况下,方法返回一个反映操作成功与否的布尔值,或将数据写入一个参数中。n.net使用强制转换在同一个类上从一个接口跳跃至
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年房地产业管理与市场分析考试卷及答案
- 2025年儿童心理发展知识考核考试卷及答案
- 2025年保险学与风险管理专业知识考试试卷及答案
- 福州仓山区六校联考2025年英语八年级第二学期期末学业水平测试模拟试题含答案
- 2025山东省统考地区数学试题及答案
- 母牛最佳配种时间表
- 植物人吸痰护理方法与操作规范
- 2025年杭州危险品从业人员资格证考试内容
- 2025年龙岩出租车从业资格证考试真题
- 陕西省榆林高新区第一中学2025届七年级英语第二学期期中学业水平测试模拟试题含答案
- 2024年玉溪市事业单位招考及易考易错模拟试题(共500题)试卷后附参考答案
- GB/T 44679-2024叉车禁用与报废技术规范
- 江西省九江市2023-2024学年高二下学期7月期末考试物理试题(解析版)
- 肺结核防治知识讲座课件
- 汽车维修行业的法规和政策
- 科学种植活动促进小学生实践能力提升的探究
- 变电站-配电房挂轨巡检机器人技术方案
- 【高校环艺】室内外手绘效果图表现教案
- DB50-T 548.4-2024城市道路交通管理设施设置规范第4部分:道路交通安全设施
- 项目股份买断合同范本
- 青岛版数学八年级下册-《平方根》教学课件
评论
0/150
提交评论