VC++开发GIS系统(262)保存所有注释

本文内容介绍GIS系统中保存所有注释的函数设计及实现。

函数声明

在_malaIO.h中的 CLabelIO 声明保存所有注释的函数,代码如下:

public:
  void saveLabels(CString &fileName);//写入所有的注释

@ fileName 注释文件完整路径

函数实现

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

//写入所有的注释
void CLabelIO::saveLabels(CString &fileName)
{
  CFile file;
  file.Open(LPCTSTR(fileName), CFile::modeCreate | CFile::modeWrite);
  CArchive ar(&file, CArchive::store);

  int Size = mLabel.size();
  for (int i = 0; i < Size; i++)
  {
    malaLabelPro lbpro = mLabel[i].mLabelPro;
    ar << lbpro.labelId << lbpro.labelHeight << lbpro.labelWidth << lbpro.labelAngle << lbpro.textAngle << lbpro.textColor << lbpro.textFont << lbpro.textOff << lbpro.textStr << lbpro.fontWeight;
    ar << mLabel[i].mLabel.x << mLabel[i].mLabel.y;
  }

  ar.Close();
  file.Close();
}

保存注释的顺序和添加注释的顺序一致,参考:《VC++开发GIS系统(253)输入注释之获取文件中所有的注释

详细代码可以参考:GitHub

VC++开发GIS系统(261)选择注释之菜单响应 VC++开发GIS系统(263)更新注释参数

作者:,GIS爱好者。
分享本文,请您带上本文链接
分享到:

发表评论