WEB开发网
开发学院软件开发VC 用VC++实现矢量地图背景下的实时显示 阅读

用VC++实现矢量地图背景下的实时显示

 2008-11-14 19:35:22 来源:WEB开发网   
核心提示: 3. 用OLE方式嵌入MapInfo进程在"mapApp.cpp"中CMapAppApp theApp语句下面加入下面的语句:DMapInfo mapinfo; file://mapinfo对象在CMapAppApp::InitInstance() 函数中增加OLE的初

3. 用OLE方式嵌入MapInfo进程

在"mapApp.cpp"中CMapAppApp theApp语句下面加入下面的语句:

DMapInfo mapinfo; file://mapinfo对象

在CMapAppApp::InitInstance() 函数中增加OLE的初始化,代码如下:

程序清单1 MapApp.cpp文件

  BOOL CMapAppApp::InitInstance()
  {
  if (!AfxOleInit()) file://OLE初始化
  { file://失败
  AfxMessageBox("OLE失败!");
  return FALSE;
  }
  if (!mapinfo.CreateDispatch("MapInfo.Application")) file://地图窗口处理进程
  { file://失败
  AfxMessageBox("Failed to create MapInfo dispatch class!");
  file://::MessageBox(0, mapinfo.GetFullName(), "Amazing!", MB_OK);
  return FALSE;
  }
  /*本处省略MFC自动生成的代码*/
  }

将"mapbasic.h"文件拷贝到本项目的目录中,在“stdafx.h”中增加以下代码,把mapinfo说明为全局变量:

  #include "mapbasic.h"
  #include "mapinfow.h"
  extern DMapInfo mapinfo; file://全局变量,地图窗口对象

4. 显示地图窗口

为CmapAppView类增加地图窗口的标识和句柄变量,在MapAppView.h文件中添加如下代码:

  unsigned long m_lWindowid; file://地图窗口标识
  HWND m_hWindowHwnd; file://地图窗口句柄

打开类向导窗口,在Class Name下拉列表框中选择类CmapAppView,Object Ids列表框中选择CmapAppView,Messages列表框中选择OnInitialUpdate,单击Add Function为CmapAppView重载OnInitialUpdate()函数,然后在函数中添加显示地图窗口的代码。

上一页  1 2 3 4  下一页

Tags:VC 实现 矢量

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接