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

yeyuboy 2005-02-28 05:10:50
我用的是VC,MDI程序,在视图中创建MAPX控件,但当打开两个视图时,第二个视图中显示不了地图(MAPX控件创建成功了)。
...全文
186 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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吧.
我不大懂 .
目 录第一章 GIS开发方式选择 3一、 应用型GIS开发的三种实现方式 31、 独立开发 32、 单纯二次开发 33、 集成二次开发 3二、 三种实现方式的分析与比较 3第二章 组件式GIS与MAPX 4一、 组件技术 41、 组件技术的兴起 42、 COM与DCOM 43、 ActiveX与ActiveX控件 5二、 组件技术与GIS的发展 61、 引言 62、 组件式GIS系统的特点 73、 组件式GIS开发平台的结构 74、 GIS组件的构成 85、 GIS组件产品 86、 应用及评价 9三、 MAPINFO相关技术 91、 MapInfo公司及其产品 92、 MapInfo空间数据的拓扑关系模型 93、 主要技术特点 104、 MapInfo的数据组织 11四、 MAPX研究 121、 MapX简介 122、 MapX的空间数据结构 133、 MapX组件的模型结构 144、 MapX的显著特征 145、 MapX的基本属性 15五、 MAPX的两个实用应用程序 161、 Geodictionary Manager 162、 GeoSet Manager 16第三章 关键技术分析与难点攻克 17一、 地图的获取 171、 空间地理数据的获取方式 172、 应用分析 173、 配准方法与投影选择 184、 小结 18二、 地图数据与属性数据的关联 181、 MapX支持的外部数据 192、 数据库设计原则 193、 关联属性数据的方法 194、 DataSets.Add方法详解 20三、 专题图的生成 211、 专题地图的概念 212、 专题图的六种类型 213、 MapX对专题图的支持 224、 专题图的规划 225、 控制专题地图 236、 自定义图例 24

2,154

社区成员

发帖
与我相关
我的任务
社区描述
它是一种特定的十分重要的空间信息系统。它是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。
社区管理员
  • 地理信息系统
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧