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


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

    第一种方法,#Import来实现

    1、首先注册MapWinGIS ActiveX组件,

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

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

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

    [cpp] view plain copy
     
    1. #import "C:MapWinGISMapWinGIS.ocx" rename_namespace("mapWindow") rename("GetObject", "GISGetObject")  


    "C:MapWinGISMapWinGIS.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

     

  • 相关阅读:
    暑假团队学习第一周
    Python快速入门(3)
    Python快速入门(2)
    走入PHP-类与对象
    走入PHP-declare、ticks、encoding、include
    走入PHP-变量、运算符
    XAMPP安装报错及解决
    走入PHP-数据类型和字符串语法
    走入PHP-初次见面
    剑指offer-替换空格
  • 原文地址:https://www.cnblogs.com/marblemm/p/9184465.html
Copyright © 2020-2023  润新知