ArcEngine+VC6二次开发之添加ESRI MapControl不支持此接口的解决办法

news/2024/7/4 3:43:18

ArcEngine+VC6二次开发

添加ESRI MapControl不支持此接口的解决办法

系统开发环境如下所示:

ArcGIS Engine 9.3 Runtime+SDK

VC6.0

一、创建一个VC工程

    使用AppWizard来创建MFC工程(选择File->New->Project Workspace菜单,

    这时弹出创建向导对话框,工程命名为AoEx,按照创建向导创建工程的步骤如下:

    (1)在Step 1中,选择"Single Document" 作为工程的应用类型;

    (2)在Step 2中,选择缺省值;

    (3)在Step 3中,选择"ActiveX controls"支持;

    (4)在Step 4中,选择缺省值;

    (5)在Step 5中,选择缺省值;

    (6)在Step 6中,选择CAoExView类,并用CFormView类作为基类,最后点击Finish完成按钮完成工程的创建工作。

二、向工程中添加MapControl控件

    MapControl是一个很有用的控件,当它添加到工程以后,类似于ArcMap中的"DataView"窗口。

    它提供了许多方法、属性和事件,可以帮助我们完成以下主要功能:

    (1) 管理控件的外观;

    (2) 管理控件的显示属性;

    (3) 管理Map的特性;

    (4) 添加和管理控件中的图层数据,包括添加、删除数据文件,显示数据。

         这里使用Visual C++的Component Gallery来添加MapControl控件。

通过Project->Add to Project->Components and Controls菜单项来打开Component Gallery组件库。

Component Gallery有两个缺省的、系统定义的文件夹Registered ActiveX Controls和Visual C++ Components。

MapControl控件在Registered ActiveX Controls文件夹中。

        在Registered ActiveX Controls文件夹中选择ESRI MapControl,

然后点击Insert按钮,这时弹出Confirm Classes对话框,保持该对话框中的设置,

点击OK按钮完成MapControl控件的加载,同时也向工程中添加了控件封装的所有应用类。


以上说明来源于武汉大学出版社出版的《地理信息系统开发-ArcObjects方法》

韩鹏  徐占华 褚海峰  姜文亮  编著


好了现在来说明报错的问题:

在Registered ActiveX Controls文件夹中选择ESRI MapControl,

然后点击Insert按钮时报错了,出错信息为:

“ESRI MapControl不支持此接口”

在网上也没有查询到相关的解决方法,

下面是我添加MapControl控件的方法,不知道通不通用了,你们就试作办吧。

打开主对话框IDD_AoEx_FORM,这时会发现有一个新的工具出现在控制面格上,

如果上述(二)步骤添加成功的话,这个工具就是新加入的MapCotrol控件了。

像插入一般的控件一样将MapControl控件插入到该主对话框中。

如果没有添加成功,报错了,现在可以在该主对话框中点击右键,

弹出右键菜单,选择插件ActiveX Control菜单项,

在弹出的对话框中ActiveX Control列表中选择ESRI MapControl控件,

点击OK确定按钮,完成MapControl控件的插入操作,

这样主对话框中就有一个MapControl地图控件了。

------the---end-----

-----vp:hsg

-----create date:2012-05-08






转载于:https://www.cnblogs.com/sqlite3/archive/2012/05/08/2566705.html


http://www.niftyadmin.cn/n/3032416.html

相关文章

FastReport VCL报表工具创建样式集教程

FastReport VCL是用于 Delphi、C Builder、RAD Studio 和 Lazarus 的报告和文档创建 VCL 库。它提供了可视化模板设计器,可以访问 30 多种格式,并可以部署到云、网站、电子邮件和打印中。 立即点击下载FastReport VCL v6.9最新版 以下代码演示了创建样…

HDU-1069-Monkey and Banana

链接:https://vjudge.net/problem/HDU-1069#authorprayerhgq 题意: 一组研究人员正在设计一项实验,以测试猴子的智商。他们将挂香蕉在建筑物的屋顶,同时,提供一些砖块给这些猴子。如果猴子足够聪明,它应当能…

长连接与短连接——JDK的HttpClient、ApacheHttpClient及OkHttpClient类比——Feign产品优化

目录 O、长连接与短链接 dubbo用长连接。 一、JDK的HttpClient 1.1、是否缓存复用是动态处理的: 1.2、HttpURLConnection、HttpClient、KeepAliveCache三个类的简单关系为: 1.3、链接缓存:继承自HashMap的实现。map的key也是特殊定义的…

wince 串口调试信息输出

不管在WinCE5.0还是在WinCE6.0中,我们在调试驱动或者应用的时候都会用到打印函数。在驱动里面,我们可能会用DEBUGMSG(..),RETAILMSG(..),还有NKDbgPrintfW(..)。在我们使用这些打印函数调试我们的程序之前,我们需要实现…

5. 内部类

内部类 在外部类中,内部类定义位置与外部类成员所处的位置相同,因此称为成员内部类。 1、实例内部类 即未被static修饰的成员内部类。 //外部类 class OuterClass {public int data1 1;private int data2 2;public static int data3 3;public Ou…

@Bean 注解

Configuration 以及其中的 Bean 注解 Configuration 注解: Target(ElementType.TYPE) Retention(RetentionPolicy.RUNTIME) Documented Component public interface Configuration {String value() default ""; } 从定义来看, Configuration 注解是用 Component 注解…

poj 3613(最短路)

题意&#xff1a;求解经过不多于某边数的最短路 思路&#xff1a;矩阵连乘&#xff0c;乘的次数就是不多于某边数的最短路&#xff0c;题目给出的顶点需要映射处理 View Code 1 #include<iostream>2 #include<map>3 #include<stdio.h>4 #include<string.…

Netty——BIO,NIO,AIO精讲

目录 0、总结&#xff1a; 一、BIO(Blocking IO) 同步阻塞模型&#xff0c; 二、NIO(Non Blocking IO) 同步非阻塞 三、AIO(NIO 2.0) 异步非阻塞 BIO、 NIO、 AIO 对比&#xff1a; 0、总结&#xff1a; 1、BIO(Blocking IO)同步阻塞模型&#xff0c;一个客户端连接对应一个处理…