深入了解MapControl:接口、功能与鹰眼图实现

2025-04-02
来源:网络整理

与其中的数据视图相对应,它封装了地图对象并提供其他属性,方法,事件等。在帮助文件中,我们可以看到以下接口主要实现:

在上一个示例中,我们已经看到了如何加载MXD文档和SHP文件等。在下面,我们将通过实现鹰眼图功能进一步学习控件。在实施鹰眼图之前,我们需要对界面有更深入的了解。

更改为被动输出接口()

COM编程类似于客户端和服务器的两层结构。 COM在一个软件模块和另一个软件模块之间建立链接。建立此链接后,可以通过称为“接口”的机制进行模块之间的通信。在大多数情况下,客户端应用程序和组件之间的通信过程是单向的。客户端创建组件对象,然后客户端调用对象通过接口提供的功能,并在适当的时间释放对象。在此互动过程中,客户始终是主动的,而组件始终是被动的,通过接触客户的接口聆听客户请求。一旦收到客户的请求,就会做出反应。这些反应的“幕后”,即,代码被阻止,我们看不到这些接口中的方法是如何实现的。这样的接口称为传入界面,但是对于全面的互动过程,这种单向通信通常无法满足实际需求,而组件对象也必须与客户积极通信。因此,与传入接口相对应,对象也可以提供传出接口,并且对象通过这些传出的接口与客户通信。这些接口被称为传出接口的原因是,这些接口不是由COM服务器端对象实现的,而是由客户端程序本身实现的。客户实现这些接口。服务器端调用此接口的成员函数,即调用客户端的自定义功能。目前,组件对象成为客户端的客户端。换句话说,接口的实现是由我们自己实现的,并由服务器调用。这样的接口通常称为事件接口。这些接口定义了一些功能,例如等等。当发生相应的事件时,服务器会执行事件的内容。

10完整的开发手册

10完整的开发手册:10开发手册

分享