在MFC工程中想使用MapWinGIS组件,有多种方法可以实现,

第一种方法,#Import来实现

1、首先注册MapWinGIS ActiveX组件,

2、新建一个单文档工程:MapGis,为控件添加一个ACtiveX控件中的MFC类,如下图:

接着在注册表中选择Map Control<1.0>,为接口_DMap添加一个CDMap0类,具体如下图:

首先打开 stdafx.h, 在其中加入:

  1. #import "C:\MapWinGIS\MapWinGIS.ocx" rename_namespace("mapWindow") rename("GetObject", "GISGetObject")

"C:\MapWinGIS\MapWinGIS.ocx" 为MapWinGIS.ocx 解压后的存放路径,改为自己的即可

在视图类添加一个CString类型的私有变量m_strFilePath用于保存tif图像或者shp文件的路径,接着在视图类为菜单"打开"添加一个命令消息函数:OnFileOpen:

  1. CString  m_strFilePath;

程序运行效果图如下:

问题:

根据以上说明,编译MFC工程时,会报一系列错误

这个在网上查了之后,有人建议在#import上面加上如下几行代码,加上后就编译通过了

__pragma(push_macro("max"));
__pragma(push_macro("min"));
#undef max
#undef min

原因我也不知道了

源码下载:https://github.com/marblemm/TestCode/tree/master/MapGis

mfc通过MapWinGIS控件读取shp文件(通过#import实现)的更多相关文章

  1. mfc通过MapWinGIS控件读取shp文件(不通过#import实现)

    1.首先注册MapWinGIS ActiveX组件, 引入MapWinGIS.ocx产生的MapWinGIS_i.h和MapWinGIS_i.c文件,利用CoCreateInstance函数来调用 演 ...

  2. 最全的基于MFC的ActiveX控件开发教程

    浏览器插件之ActiveX开发(一) 一般的Web应用对于浏览器插件能不使用的建议尽量不使用,因为其涉及到安全问题以及影响用户安装(或自动下载注册安装)体验问题.在有特殊需求(如涉及数据安全的金融业务 ...

  3. VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程

      开篇语:最近在弄ocx控件发布到asp.net网站上使用,就是用户在使用过程中,自动下载安装ocx控件.(此文章也是总结了网上好多人写的文章,我只是汇总一下,加上部分自己的东西,在这里感谢所有在网 ...

  4. 【转】MFC对话框和控件

    原文网址:http://www.cnblogs.com/tiwlin/archive/2013/05/08/3067966.html 对话框和控件 对话框是Windows应用程序中一种常用的资源,其主 ...

  5. MFC对话框和控件

    对话框和控件 对话框是Windows应用程序中一种常用的资源,其主要功能是输出信息和接收用户的输入数据.控件是嵌入在对话框中或其它父窗口中的一个特殊的小窗口,它用于完成不同的输入.输出功能.对话框与控 ...

  6. ATL开发 ActiveX控件的 inf文件模板

    ATL开发 ActiveX控件的 inf文件模板    

  7. VC++ 使用WebBrowser控件中html文件以资源形式加载

    . . . . //加载资源文件中的HTML,IDR_HTML1就是HTML文件在资源文件中的ID wchar_t self_path[MAX_PATH] = { }; GetModuleFileNa ...

  8. VC、MFC中设置控件的背景色、标题、字体颜色、字体要注意的地方[转]

    在MFC中设置控件的背景色.字体.字体颜色.标题等属性主要是利用OnCtlColor函数来实现. 如: HBRUSH CAlarm::OnCtlColor(CDC* pDC, CWnd* pWnd, ...

  9. MFC中Listbox控件的简单使用

    MFC中listbox控件是为了显示一系列的文本,每个文本占一行.   Listbox控件可以设置属性为: LBS_CHILD   :(默认)子窗口 LBS_Visible :(默认)可视 LBS_M ...

随机推荐

  1. nfs 笔记

    问题:客户端在nfs文件目录下读写文件提示Permission denied: 解决方法: 修改/etc/exports 中 文件共享方式为 no_root_squash no_root_squash ...

  2. windows下libevent的编译及使用

    之前简单分析了libevent的源码,过了一段时间要用的时候发现完全忘记了..从头记录一下流程 1.编译 可以从github下载libevent的压缩包,解压后 修改以下三个文件,添加宏定义: 在以下 ...

  3. websphere 配置库中已存在应用程序,异常处理

    from:http://mengdboy.iteye.com/blog/1677379 出现此问题的原因之一:操作界面上没有卸载完成. 进行一下操作: 1.删除 $WAS_HOME/profiles/ ...

  4. org.openqa.selenium.WebDriverException: unknown error: missing or invalid 'entry.level'

    错误原因:chrome与chromedriver版本号不匹配,升级后即可解决

  5. 静态路由解决双外卡,PC做路由器的实现

    1,曾经医院,有两个网卡,一个内,一个外,但都有网关(192.168.1.246. 192. 168.6.1) 这样同一时候开启就会出现网络不通. 当时并没有细究原因. 这次医院信息化项目上马,我学到 ...

  6. [19/03/29-星期五] IO技术_File(文件)类(可操作文件,不能操作其里边内容,位于Java.io 包中)&递归遍历

    一.概念 java.io.File类:代表文件和目录. 在开发中,读取文件.生成文件.删除文件.修改文件的属性时经常会用到本类. 以pathname为路径创建File对象,如果pathname是相对路 ...

  7. springboot之热部署

    一.介绍: spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用. 二 ...

  8. python之self

    python中的self与Java中的this类似,类的函数通过self引用从而实现对类的数据类型进行访问操作. 1. self在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数.(类的方法与 ...

  9. springboot项目pom添加依赖

    在dependency 后面  ALt+/  可以打开编辑窗口.

  10. HDU 2717 Catch That Cow(常规bfs)

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2717 Catch That Cow Time Limit: 5000/2000 MS (Java/Oth ...