麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

VC++开发GIS系统(271)删除注释之函数定义

本文介绍GIS系统中的删除注释的功能,并实现一个用于删除注释的底层IO函数。

删除注释IO函数定义

在_malaIO.h中的注释文件读写类 CLabelIO 中定义用于删除注释的函数,声明如下:

public:
  long labelDelete(malaLabelPro &labelPro, CString &fileName);//删除注释
  • @ labelPro 被删除注释的属性
  • @ fileName 注释文件的完整路径

删除注释IO函数实现

在_malaIO.cpp中实现上述的函数定义,代码如下:

//删除注释实现
long CLabelIO::labelDelete(malaLabelPro &labelPro, CString &fileName)
{
  long ID = labelPro.labelId;
  readLabels(fileName);

  vector<malaLabelFile>tempLabels;

  int Size = mLabel.size();
  for (int i = 0; i < Size; i++)
  {
    if (mLabel[i].mLabelPro.labelId != ID)
    {
      tempLabels.push_back(mLabel[i]);
    }
  }
  mLabel.clear();
  mLabel = tempLabels;
  saveLabels(fileName);
  tempLabels.clear();
  return ID;
}

实现原理是遍历注释文件中的所有注释,ID相同即删除。

详细代码可以参考:GitHub

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

留言板(小编看到第一时间回复)