当前位置:编程学习 > 网站相关 >>

问大家个vc+mapx的最简单的问题

从网上下载的程序也好,自己照网上的步骤自己做的程序也好,总是出现同一个问题,建立空文档失败。MAPX 也装了。我想知道问题到底出在哪里,网上有解答,但是都不详细,可能我自己也比较笨,所以到现在还没弄明白,自己去研究点什么东西真是苦难啊。有个高手在旁边指点下就好了。也许就一两句话的事情。。。。唉。谢谢了。 --------------------编程问答-------------------- 哎 同是新人 摸索中   --------------------编程问答-------------------- 什么叫“建立空文档失败”?最好把报的错误贴出来。 --------------------编程问答-------------------- 创建空文档失败 估计应该是在你的MapX控件 Creat的时候出错了
int C**View::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
if (CView::OnCreate(lpCreateStruct) == -1) return -1;

RECT windRect;
GetClientRect(&windRect);

if (!m_ctrlMapX.Create(NULL, WS_VISIBLE, windRect, this,IDC_MAPXID))return -1;
return 0;
}

上面代码中如果第二个if里面出现问题,返回-1的话就会出错。 楼主需要注意IDC_MAPID这个宏的定义。
再后头去查查实例代码吧。 --------------------编程问答-------------------- 建议lz仔细看看楼上Tinary3v0博客里的图文教程,我就是按这么来弄好的 --------------------编程问答-------------------- 地图文件没有找到,指定一下
m_ctrlMapX->SetGeoSet(seaMapStr); --------------------编程问答-------------------- 注意地图路径为绝对路径
--------------------编程问答--------------------
引用 3 楼 tinary3v0 的回复:
创建空文档失败 估计应该是在你的MapX控件 Creat的时候出错了

C/C++ code
int C**View::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
    if (CView::OnCreate(lpCreateStruct) == -1)    return -1;

    RECT windRect;
    GetC……


应该是这个问题 --------------------编程问答-------------------- 三楼说的对。
我也遇到了建立空文档失败的问题,一个原因是MapX没装对,有的MapX5.0的不全,还有是MapX5.0和4.0的mapx.h .cpp是不能通用的。也就是说如果你安的是4.0,但是下载的例子中用的是5.0的就会出现这个问题。
另外就是create函数失败,如三楼所讲。
还有创建之后,如果调用SetGeoSet函数更改初始地图时,如下
     m_ctrlMapX.SetGeoSet("E:\\map\\CD.gst");
如果文件路径错误也会出现空文档失败 --------------------编程问答--------------------
引用 8 楼 leiyingecho 的回复:
三楼说的对。
我也遇到了建立空文档失败的问题,一个原因是MapX没装对,有的MapX5.0的不全,还有是MapX5.0和4.0的mapx.h .cpp是不能通用的。也就是说如果你安的是4.0,但是下载的例子中用的是5.0的就会出现这个问题。
另外就是create函数失败,如三楼所讲。
还有创建之后,如果调用SetGeoSet函数更改初始地图时,如下
  m_ctrlMapX.SetGeoS……

我也碰到这个问题了,下载的源码运行时总是提示建立空文档失败,在就是mapx5.0里自带的例子在vs2005里打开时会提示activeX控件没有注册。
可能就是mapx5安装有问题,可怎么安装才对呢?
补充:企业软件 ,  地理信息系统
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,