beetlegis
路人甲
路人甲
  • 注册日期2004-02-18
  • 发帖数34
  • QQ
  • 铜币138枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1393回复:0

2

楼主#
更多 发布于:2004-04-07 13:03
6. 编译运行软件:


  要保存plane表,可在CmapAppView类的析构函数中添加下面的代码:

  程序清单4 MapAppView.cpp文件

CMapAppView::~CMapAppView()

{

char str[256];

if (m_hWindowHwnd) file://地图窗口存在

{

sprintf(str,"Close Window %lu",m_lWindowid);

mapinfo.Do(str);

m_hWindowHwnd = NULL;

m_lWindowid = 0L;

mapinfo.Do("Commit Table plane");//保存实时航迹表

}

}


  左屏显示内容的构造,可根据各软件系统的要求,显示数据,图表等,由VC++编程实现。

  三、 其它说明

  上面程序清单2中

  sprintf(str,"Add Map Window %lu Layer plane Animate",m_lWindowid);

  语句中的Animate属性一定要有,这表示将plane图层设置为动态(Animate)图层,每个地图窗口只能有一个动态图层,当这个图层上的对象变化时,地图窗口只刷新此图层,以便可以实现快速刷新。

  在应用OLE技术嵌入地图窗口的应用中,还可根据需要加入多种工具,用于地图信息的修改和查询,如标尺窗口,信息窗口,图层控制,图层选择编辑等,但在实时接收数据并显示的状态下,有些功能的使用将会导致访问冲突,以致程序出错,如图层控制、图层编辑等,原因是实时数据正在对plane表进行编辑,此时再改变其它图层,就与mapInfo一次只能编辑一个图层的原则产生了冲突。
喜欢0 评分0
游客

返回顶部