MAPGIS二次开发常见问题及解答.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MAPGIS二次开发常见问题及解答.doc

MAPGIS二次开发常见问题及解答 MAPGIS, 解答, 开发 1、问:如何用Delphi生成MAPGIS明码文件? 答:先利用手册看懂明码格式文件的格式,知道数据的组织方式,利用delphi的文件函数创建一个文本型文件,吧数据库中的数 据按照格式输出就是了。 2、问:ATT_STRU 和CATT_STRU的区别和联系? 答: ATT_STRU是以前老版本的东东,换成CATT_STRU试试.CATT_STRU中包含了属性结构的详细信息,具体用法可参见二次开发帮助 文档中第三章数据结构中关于属性字段描述结构,属性字段描述头和属性信息头的介绍,里面有该结构的详细内容。 3、问:请教关于“不能打开子图库...”的问题,急! 答:系统库路径不对,将mapfont.gis、mconfig.gis、netcfg.gis三个文件拷贝到执行目录即可。这几个语言件放在 MAPGIS\PROGRAM\目录中。或是运行MapEnv.exe可设置,该运行文件也同样在MAPGIS\PROGRAM\目录中。 4、问:如果只知道工作区 ai 能不能依次得到工作区中的图元号,该如何得到啊! 答: long i,pntn; short len; pnt_info inf; d_dot xy; char *dat; {_GetPntNum(ai,i,pntn);//取点数 for(i=1;i《pntn;i++) { if(_getpnt(ai,i,xy,dat,len,inf)=0)//取点,返回值1/0/-1??成功/失败/删除 continue; …对该图元进行操作 } }i就是图元号 5、问:MapGis6.5的SDK函数NearPnt,到底应该如何用啊!跟以前的不同了,给个例子吧! 答: long??WINAPI _NearPnt(short ai,D_DOT *xy,unsigned char *layerOnOffPad,short padLen,double *dis); ai 点工作区号 *xy 点位置号---比如鼠标的位置 layeronoffpad 图层开关标志,如不为空就只在打开状态的图层中查找 padLen 是layerOnOffPad的长度 出口??dis??返回距离 返回值成功返回点号,失败为0 6、问:如何屏蔽掉CPrjEditView中的右键功能!!! 答: editview有一个PopMenuControl属性,同理CPrjEditView也可以直接使用这个属性。 editview.PopMenuControl=-1??///不显示菜单 ? ?? ?? ?? ?? ?? ?? ???=0 ///全部显示 ? ?? ?? ?? ?? ?? ?? ???=1 ///显示窗口菜单 ? ?? ?? ?? ?? ?? ?? ???=2 ///显示窗口+编辑菜单 ? ?? ?? ?? ?? ?? ?? ???=3 ///1+2+工具箱 7、问:如何将一个圆添加到一个工作区Ai中? 答: 先用_AppendLin函数在工作区画园(或画弧)的时候需要自己生成坐标点,比如说 D_DOT *dat, 这里dat的空间需自己申请,其长度为 long len,线的参数是 LIN_INFO inf,需要赋值,short ai为区工作区号,long i 为弧 段号。然后调用: i = _AppendLin(ai,dat,len,inf); 输入弧段。然后添加区域 入口: ai? ? - 区工作区号 ??long rdat[2] - 区域数据块 rdat[0] = 1(弧段个数),rdat[1]= i? ???(i 为弧段号) ??rinf? ?- 区域图形信息,需要赋值 然后调用: ? ?? ?_AppendReg(ai,rdat,2,rinf); 8、问:急关于_ShortFlash(ENTITY_MSG *pt,long num)函数! 答: sypedef struct {short ai 工作区号 short type 图元类型 long elmi 图元号 }ENTITY_MSG 定义一个ENTITY_MSG数组你把所要闪烁的图元一个一个加进去就行了。 9、问:实现查询多边形中图元的,并时期闪烁显示,应如何实现呢? 答:用_RectAskToList系列函数,然后可通过CGisView的闪烁机制完成。 10、问: CloseToolBox();//关闭工具箱 OpenToolBox(); //打开工具箱 我的程序只要进行了上面关闭和打开工具箱的操作后,在最后关闭时总是报错 不管是用上面的函数还是用右键提供的工具箱控制,到最后都会出现一个 Debug Assertion Failed! 的错误,谁能解释一下呢?答: 1、升级你的VC++(比如

文档评论(0)

changlipo2019 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档