阅读:1522回复:0
2
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一次只能编辑一个图层的原则产生了冲突。 |
|