网站大量收购独家精品文档,联系QQ:2885784924

创建组件的基本步骤.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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

您可能关注的文档

文档评论(0)

aiwendang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档