麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

ArcGIS Engine 10 开发手册(3-5)第一个控件MapControl

MapControl 对应于 ArcMap 中的数据视图,它封装了 Map 对象,并提供了额外的属性,方法,事件等。 在 ArcGIS Engine 的帮助文件中,我们可以看到 MapControl 主要实现了如下接口:

在前面的例子中,我们已经看到如何使用 MapControl 加载 Mxd 文档和 Shp 文件等。下面我们通过实 现鹰眼图这个功能来进一步学习 MapControl 控件。在实现鹰眼图之前,我们需要接口有更深入的了解。

变主动为被动-出接口(OutBound interface)

COM 编程类似客户端和服务器端的两层结构,COM 所建立的是一个软件模块与另一个软件模块之间的链接, 当这种链接建立之后, 模块之间就可以通过被称之为 Interface“接口 ”的机制来进行通信。在绝 大部分情况下, 客户应用程序与组件的通信过程是单向的, 客户创建组件对象, 然后客户通过接口调用 对象所提供的功能, 在适当的时候再把对象释放掉。在这种交互过程中, 客户总是主动的, 而组件总是 处于被动状态, 通过自身暴露给客户的接口监听客户的请求, 一旦接收到客户的请求便做出反应,这些 反应的“幕后“,也就是代码是被屏蔽掉的,我们是看不到这些接口内的方法是如何实现的。这样的接口 称为入接口 InBound Interface,但是对于一个全面交互过程来说, 这样的单向通信往往是不能满足实际的 需要, 组件对象也要主动与客户进行通信, 因此, 与入接口相对应, 对象也可以提供出接口 OutBound interface,对象通过这些出接口与客户进行通信。之所以把这些接口称为出接口, 其原因在于这些接口并 不由 COM 服务器端的对象实现, 而是由客户程序自己来实现, 客户实现这些接口, 服务器端调用此接 口的成员函数, 即调用了客户自定义的函数, 这时组件对象变成了客户端的客户。也就是说出接口的实 现是由我们自己实现,而被服务器调用,这样的接口,我们往往称之为事件接口,这些接口里面定义了一 些如 OnMouseUp,OnMouseMove 等函数,当相应事件发生的时候,由服务器去执行这个事件里面的内容。

ArcGIS Engine 10 开发手册全集

ArcGIS Engine 10 开发手册全集: ArcGIS Engine 10 开发手册

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

留言板(小编看到第一时间回复)