- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
创建组件的基本步骤.doc
在这个论题中,你将学会怎样创建一个可以插入到ArcGIS Desktop application的组件。重点是在特定的语言中如何编写代码或怎样解决一个特定的ArcObjects问题。这部分还提供怎样包装component的解决方案以及应用于ArcGIS。
? 下列步骤用来创建一个组件。
创建一个新的工程。
添加引用。
创建一个新类。
实现接口。
导入命名空间。
编写实现代码。
将组件插入ArcGIS Desktop中。
将组件编译为DLL。
测试/调试/重新编译。
Step 1:创建一个新的工程
? 设计一个新的ArcGIS桌面组件,你要创建一个新的类库(DLL)。
? 为工程和每个类提供有意义的名字。工程的名字将是默认的DLL的名字。当然你也可以在工程属性页上重命名。
? 为了在ArcGIS Desktop应用程序中使用.Net组件,要在Assembly Information对话框中设置COM可见。
? 下一步是在开发时使ArcGIS桌面软件可以使用组件,在Visual Studio中编译时通过COM注册程序集。属性页的Build(C#)或Compile(VB.NET)选项卡中可以设置COM Interop。
? 一个简单的DLL文件可以包含若干类或组件。因此为每个组件创建一个新的类库是不必要的。需要的话,可以将许多按钮、工具条和其他组件放置在一个程序集中。
? ArcGIS Visual Studio IDE集成框架中的ArcGIS工程模板可以为Dektop组件自动设置工程属性。
? Step 2:引用ArcObject组件
? 在ArcGIS桌面应用程序中使用VBA编程时,不需要明确的引用ArcObjects类库,因为大部分已经添加了引用。在独立开发环境,如Visual Studio 2005中则不同。.NET开发时将COM对象库导入到.NET程序集中便可引用任何对象。除了标准的.Net framework assemblies外,代码中引用的任何程序集都要明确的导入到工程中。
? 引用其他的assemblies,从工程菜单中选择Add Reference...。几乎所有的工程都要引用ESRI.ArcGIS.SystemUI,因为这个组件中包含按钮和命令的插入接口(例如,ICommand、ITool)。
? Step 3:创建类
? 为了保证.NET组件与ArcGIS desktop应用程序相关联,需要添加若干COM关联属性到类中。包括为每一个.NET组件分配一个确切的GUID。可以使用Visual Studio 2005中的GUID的创建程序获得一个新的GUID。
? 在VB.NET中,从添加项对话框中选择COM类模板。这个模板已经包含了所有COM关联属性。
? 在C#中,从添加项对话框中选择类模板,在工程中创建后即添加GuidAttribute和ClassInterfaceAttribute。确保类的访问修饰符是public并记着C#区分大小写。
? ArcGIS Visual Studio IDE集成框架中的ArcGIS项模板提供更简单的方法来创建类和并将其与COM关联。
? Step 4:实现所需的接口
? 为了确保你的组件能被ArcGIS Desktop应用程序识别,需要实现一个或多个接口或.NET基类,根据组件而定。
? 在ArcMap的用户接口上添加新的控件,需要应用一些基本属性,例如控件上的图像(Bitmap property)、鼠标停留在控件上显示的内容(ToolTip),最重要的是单击控件时控件的响应(OnClick event procedure)。作为程序员,你要编写代码来处理这些属性和方法。
? ESRI.ArcGIS.SystemUI的ICommand接口
? Step 5:导入命名空间
? 在VC++、VB6或VBA中,正确引用类,需要通过库名指定完全限定名,在这些语言中通过完全限定名引用是可选的。然而,在.NET中必须通过命名空间完全限定类。例如,ESRI.ArcGIS.SystemUI命名空间下ICommand接口的完全限定名是ESRI.ArcGIS.SystemUI.ICommand.为了简化代码,增强可读性(节省输入命名空间的时间),可以在代码开头插入using指令(C#)或imports(VB.NET)。在VB.NET中,命名空间导入也可在工程属性页的引用选项卡上设置。使用Insert ArcGIS Using Directives command快速向代码文件中导入ESRI命名空间。
? Step 6:编写实现代码
? 确定实现的接口后,就需要为每个接口和属性编写代码。要符合组件对象模型的规定,就意味着在类文件中实现这些方法和属性。
? 在类的声明中输入实现代码时,Visual
您可能关注的文档
- 信贷风险防范工作.doc
- 停止加掛與下市規定妥適性,以及標的證券一致性之研究.doc
- 健康科普人际传播技巧探讨.doc
- 健康课堂的标准.doc
- 偿债能力分析(宝钢).doc
- 储蓄前台论文:营口建设银行营业部储蓄前台工作效率优化设计.doc
- 催化剂在木质素液化降解中的应用.doc
- 催化裂化的工艺特点及基本原理.doc
- 儿童文学辨析题.doc
- 先秦儒家道德修养的“反求诸己”——兼论其现代意义,儒家文化.doc
- 小学数学课堂与校园景观数学思维培养实践教学研究课题报告.docx
- 《建筑防水施工工艺创新与质量提升策略》教学研究课题报告.docx
- 高中生零花钱使用与消费素养提升策略分析教学研究课题报告.docx
- 基于绿色化学理念的初中化学实验创新设计方法研究教学研究课题报告.docx
- 初中信息技术课程中无人机避障的人工势场法教学案例创新教学研究课题报告.docx
- 培训师的时间管理策略-教育时间管理.pptx
- 数字化时代下基于教育社会学理论的小学教师教学画像构建策略研究教学研究课题报告.docx
- 高中政治教育专项课题:人工智能技术在政治理论教学中的应用教学研究课题报告.docx
- 《超高层建筑结构设计中基于新型材料的抗火性能提升技术研究》教学研究课题报告.docx
- 人工智能辅助下的小学英语教学资源动态更新与教学效果分析教学研究课题报告.docx
文档评论(0)