VC语言

本类阅读TOP10

·VC++ 学习笔记(二)
·用Visual C++打造IE浏览器(1)
·每个开发人员现在应该下载的十种必备工具
·教你用VC6做QQ对对碰外挂程序
·Netmsg 局域网聊天程序
·Windows消息大全
·VC++下使用ADO编写数据库程序
·VC++学习笔记(四)
·非法探取密码的原理及其防范
·怎样在VC++中访问、修改注册表

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
MapObject控件的使用之加入图层

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

MapObject控件的使用之加入图层

 作者:北京 张松伟

[email protected]

 

MapObject控件是ArcInfo公司开发的一套功能强大的GIS地理信息系统控件,该控件功能非常强大,在软件开发行业中有着很大范围的覆盖率,因其在VC中的使用非常复杂,帮助文档对一个刚入门的程序员来说不是很容易看懂,并且示例代码都是基于VB的,所有我写了这一系列的文章,供大家参考,有问题欢迎大家指正。

MapObject(以下简称MO)有自己格式的图层文件,是有.shp为扩展名,在使用时首先要将MO控件引入到我们的程序中来,并包函一些头文件。好了,让我们开始吧。

 

1、新建单文档程序,在第四步时设置窗口启动最大化。点击Project->Add to Project->Components And ….,先择已注册的控件,选择MapObjects 2.2 Map Control,全选其中的类,加入工程当中。

2、在工程目录下新建一个文件夹,命名为Common,将MapHelper.h MapHelper.cpp MapObjects2.h pedef.h拷贝到其中,以上文件可以到MO安装目录或VC例程目录下找到。

3、打开stdafx.h ,在其中加入#include "Common\mapobjects2.h" #include "Common\maphelper.h"句话,并将Common目录下的所有文件包函到工程当中。

4、给CMyView加入成员变量CMap1 m_map,并在OnInitialUpdate()函数中创建它。

         GetClientRect(&rect);

m_map.Create("WeatherGis", WS_CHILD | WS_VISIBLE, rect, this, ID_GISMAP);

拦截WM_SIZE消息,加入如下代码以使MO控件占满整个视图。

         if(m_map.m_hWnd)

                  m_map.SetWindowPos(0, 0, 0, cx, cy, SWP_NOZORDER);

5、把你找来的图层文件(.shp)文件放到工程目录下,并你下面这样加入到MO当中去。

   AddLayer(m_map, TEXT("shp\\ country.shp"), moPaleYellow)

   AddLayer(m_map, TEXT("shp\\city.shp"), moRed);

   …….

6、好了,运行吧,看一幅地图已经呈现在你面前了,是不是很有成就感呢?在下次我将说明如何对图层进行放大缩小、改变鼠标样式等操作,好了先到这吧。

 

 




相关文章

相关软件