程序中创建两个mapx控件对象,第二个为什么会无法显示?

yeyuboy 2005-02-28 05:10:50
我用的是VC,MDI程序,在视图中创建MAPX控件,但当打开两个视图时,第二个视图中显示不了地图(MAPX控件创建成功了)。
...全文
128 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yeyuboy 2005-03-01
试验后是GST文件路径的问题,不过不知道为什么?

由于GST文件的路径是在配置文件中读取的,用的是相对路径,通常在程序中转化为绝对路径的方式为:应用程序所在路径+读取的相对路径名。因此,可能的处理后路径名为:d:\myapp\exe\..\..\geoset\china.gst
而正是这种路径,导致程序的第一个mapx对象可以正确的装入GST并显示所有图层,而此时如果创建另一个MAPX对象装入该GST,则第二个MAPX对象没有任何图层。 不知道为什么?

而如果将配置文件中的路径设置为一般的绝对路径,如:d:\geoset\china.gst,则程序始终能装入GST。
回复
Colin_Qin 2005-03-01
//创建地图控件对象
try
{
CString strLic = _T("A2B3C42T81FY2MMVJX4L9CE5LC0P0X3FG4KHIF9UU3");
BSTR bstrLic = strLic.AllocSysString();

BOOL b = m_ctrlMapX.Create(NULL, WS_VISIBLE, CRect(0,0,100,100), this,IDC_MAP , NULL, FALSE, bstrLic);
::SysFreeString(bstrLic);

if (!b) return FALSE;

}
catch (COleDispatchException *e) {

e->ReportError();
e->Delete();
}
catch (COleException *e) {
e->ReportError();
e->Delete();
}
回复
letheanwater 2005-03-01
这个问题在这里以前好象有人问过
你可以搜索一下。

解决的方法好象是什么,在form上建立view吧.
我不大懂 .
回复
发帖
地理信息系统
创建于2007-08-27

1761

社区成员

它是一种特定的十分重要的空间信息系统。它是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。
申请成为版主
帖子事件
创建了帖子
2005-02-28 05:10
社区公告
暂无公告