• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > VC+MAPX创建永久图层问题

VC+MAPX创建永久图层问题

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了vc mapx,mapx的图层对象编辑,mapx,mapx5.0破解版下载,mapx下载等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: VC+MAPX创建永久图层问题
描述:

我的目的是当用户往地图上加入图层后,用户在这个图层上做的加点,线,标注等能保留下来,由于加入的是栅格图层,不能编辑,所以我想在加入栅格图层的同时,创建一个永久的图层,用来保留用户的点线和标注等,创建新图层的代码如下:
CMapXFields Flds;
 Flds.CreateDispatch(Flds.GetClsid());
 
 //Create the field definitions for the new layer. For example:
 //First field is a string, second is an integer, last is a date
/* Flds.AddStringField("My String Column", 50);
   Flds.AddIntegerField("My Integer Field");
   Flds.AddDateField("My Date Field");*/  这一段编译报错,说没有这三个函数,于是我用了下面这个函数
   Flds.Add(COleVariant("IDField"),COleVariant("IDField"),COleVariant((long)miAggregationIndividual),COleVariant((long)miTypeString)); 
 
 //Create a variant that points to the fields collection just created
 VARIANT vFlds;
 vFlds.vt = VT_DISPATCH;
 vFlds.pdispVal = Flds.m_lpDispatch;
 
 //Create a new LayerInfo Object
 CMapXLayerInfo Linfo;
 Linfo.CreateDispatch(Linfo.GetClsid());
 
 //Set the Layer Info type to type: New Table
 Linfo.SetType(miLayerInfoTypeNewTable);
 
 //Add the parameters for the new table
 Linfo.AddParameter("FileSpec", COleVariant("MyTab.tab")); //Tab file
 Linfo.AddParameter("Name", COleVariant("MyNewLayer")); //Layer name
 Linfo.AddParameter("Fields", vFlds); //Fields
 
 //Add the new layer to the map
 m_MapX.GetLayers().Add(Linfo.m_lpDispatch);  //运行到这句就运行不过去,产生异常错误,也没有提示什么错误
                                                    //查看相关的目录下面只产生了.ID和.MAP文件,没有.TAB等其他文件
注明:由于我的应用程序主框架是基于单文档的,所以我加MAPX时是加入MAP.H 和MAPX.CPP。另外由于需要,在一个弹出对话框中为了方便画控件我又将mapx以Conponents and Contral形式添加到工程。Flds.AddStringField("My String Column", 50);这几句出错,我的理解是他调用的是前一种方式下加入的MAPX类里面的函数,我找了在这种方式下FIELDS对象的没有AddStringField这一方法,所以我用了它包含的Flds.Add(...)方法,不知道字段有没有加进去?希望各位大侠帮我分析,谢谢!


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • vc开发mapx如何实现图标移动!
  • VC+MapX+单文档子视图划分问题
  • VC+MapX+需找附近图元
  • vc+mapx图层编辑问题
  • vc+mapx测量距离的问题
  • vc+mapx怎么实现测量距离和面积
  • VC+MapX控件中全局的feature如何释放?
  • MAPX数据类型和VC数据类型的转换的问题
  • VC+MapX开发时,怎么找到固定位图图元
  • 请问怎么把MAPX导入VC啊各位大侠帮忙啊

相关文章

  • 2017-06-04 ocx控件怎么更新版本?
  • 2017-06-05 程序掉用com写的dll,重写一个comdll怎么可以把原有的comdll替换
  • 2017-06-05 OLE和ActiveX技术,谁先出现的?
  • 2017-06-04 请问如何在VB中操作VC控件接口中定义的VARIANT参数
  • 2017-06-04 从JS调用ActiveX方法,为什么老是报“参数不匹配”错误?
  • 2017-06-05 父进程和子进程的继承概念?
  • 2017-06-05 createprocess问题,如何执行一个程序?
  • 2017-06-05 msscriptocx线程问题
  • 2017-06-05 sdk怎么插入activex控件啊
  • 2017-06-05 是微软搞错了吗?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 高分请教!office插件问题
    • VC++60调用Matalb中的文件库函数
    • 简单的dll隐式加载问题,非常急,在线等!
    • 请教:CreateProcessAsUser为什么不能执行?
    • 最小化重新放大,浏览器控件会显示不全,点击后才显示全部内容!
    • BeyondCompare的右键菜单
    • Vc60中从EXCEL9OLB中导出的excel9cpp和excel9h用来操作EXCEL请问如果设置列宽?
    • 请高手们给个思路,迷茫阿!
    • 为什么这个程序响应键盘很迟钝,怎样才能提高响应速度
    • 什么是线程同步和异步?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有