⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myeditview.cpp

📁 地理信息系统(GIS)相关.子图符号转成文字描述的功能.
💻 CPP
📖 第 1 页 / 共 4 页
字号:
}

void CMyEditView::OnCreatelabel() 
{
	CreateLabelFile();
}

void CMyEditView::OnAutolinklin() 
{
	AutoLinkAllLin();
}

//----------------------------//
//--------菜单状态函数---------//
//----------------------------//
void CMyEditView::OnUpdateInstmLnlin(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable((GetDigObj() != NULL)&&(_dgCheckTabletInited(GetDigObj())));
}

void CMyEditView::OnUpdateIndotLnlin(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable((GetDigObj() != NULL)&&(_dgCheckTabletInited(GetDigObj())));
}

void CMyEditView::OnUpdateIn0Lnarc(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable((GetDigObj() != NULL)&&(_dgCheckTabletInited(GetDigObj())));
}

void CMyEditView::OnUpdateIn0Lncir(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable((GetDigObj() != NULL)&&(_dgCheckTabletInited(GetDigObj())));
}

void CMyEditView::OnUpdateIn0Lrect(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable((GetDigObj() != NULL)&&(_dgCheckTabletInited(GetDigObj())));
}

void CMyEditView::OnUpdateIn1Lnarc(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable((GetDigObj() != NULL)&&(_dgCheckTabletInited(GetDigObj())));
}

void CMyEditView::OnUpdateIn1Lncir(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable((GetDigObj() != NULL)&&(_dgCheckTabletInited(GetDigObj())));
}

void CMyEditView::OnUpdateIn1Lrect(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable((GetDigObj() != NULL)&&(_dgCheckTabletInited(GetDigObj())));
}

void CMyEditView::OnUpdateInEllips(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable((GetDigObj() != NULL)&&(_dgCheckTabletInited(GetDigObj())));
}

void CMyEditView::OnUpdateInPtarc(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable((GetDigObj() != NULL)&&(_dgCheckTabletInited(GetDigObj())));
}

void CMyEditView::OnUpdateInPtcir(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable((GetDigObj() != NULL)&&(_dgCheckTabletInited(GetDigObj())));
}

void CMyEditView::OnUpdateInPtstr(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable((GetDigObj() != NULL)&&(_dgCheckTabletInited(GetDigObj())));
}

void CMyEditView::OnUpdateInPtsub(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable((GetDigObj() != NULL)&&(_dgCheckTabletInited(GetDigObj())));
}

void CMyEditView::OnUpdateCrossLnlin(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable((GetDigObj() != NULL)&&(_dgCheckTabletInited(GetDigObj())));
}

void CMyEditView::OnUpdateCopy(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable(GetPoolNum() > 0);
}

void CMyEditView::OnUpdateCut(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable(GetPoolNum() > 0);
}

void CMyEditView::OnUpdatePaste(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable(_IsMapgisClipBoardAvailable());
}

/*
void CMyEditView::OnUpdateSetTicPoint(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	pCmdUI->Enable((GetDigObj() != NULL)&&(_dgCheckTabletInited(GetDigObj())));
}

*/

void CMyEditView::OnMakegraphicsregion() 
{
	MakeGraphRegion();	
}

//-----------------------//
//-----自己定义的函数----//
//-----------------------//
//显示工作区中的文件名称
void CMyEditView::UpdateAreaName()
{
	char str[1000];
	char name[_MAX_FNAME];
	CString FName;
	
	str[0]=0;
	if (PAi)
	{   
	   name[0]=0;
	   _GetAreaFileName1(PAi,name,_MAX_FNAME);

	   if (name[0])
	   {
		  lstrcat(str,name);
		  
		  //添加后缀名
		  FName=name;
	      if (FName.Find(".",0)<0)
			  lstrcat(str,".wt");

          lstrcat(str," /");
	   }
	}
	 
	if (LAi)
	{  
	   name[0]=0;
	   _GetAreaFileName1(LAi,name,_MAX_FNAME);

	   if (name[0])
	   {
          lstrcat(str,name);

		  //添加后缀名
		  FName=name;
	      if (FName.Find(".",0)<0)
			  lstrcat(str,".wl");

		  lstrcat(str," /");
	   }
	}

	if (RAi)
	{  
	   name[0]=0;
	   _GetAreaFileName1(RAi,name,_MAX_FNAME);

	   if (name[0])
	   {  
		  lstrcat(str,name);
		  
		  //添加后缀名
		  FName=name;
	      if (FName.Find(".",0)<0)
			  lstrcat(str,".wp");

		  lstrcat(str," /");
	   }
	}

	//修改标题
    GetDocument()->SetTitle(str);
}

//------自定义操作------//
//--删除点--
void CMyEditView::OnMyDelpnts() 
{
	BaseGisTool *extTool;

	extTool=new CDelGroupPointTool(this);

	SetExtTool(extTool);
}

void CMyEditView::OnMyUndo() 
{
	Undo();	
}
int xx=0;
void CMyEditView::OnSub() 
{
short ai=GetEditArea(PNT);
	    long       i,pntN;

    short      len;

    PNT_INFO inf;

    D_DOT    xy;

    char      *dat;

        

_GetPntNum(ai,&i,&pntN);   //取点数
Czitu zitu;
zitu.DoModal();
xx=zitu.m_zitu;
        for(i=1;i<pntN;i++)

  {

  if(_GetPnt(ai,i,&xy,&dat,&len,&inf)<=0)

     continue;

  switch(inf.type)

      {



      case PNT_SUB:

           inf.info.sub.subno=inf.info.sub.subno+xx;//处理子图
_UpdatePntInfo(ai,i,&inf);

          break;


      default:    break;

      }

  }
_UpdateWindow();
}
int yy=0;
void CMyEditView::OnXian() 
{
	short ai=GetEditArea(LIN);
long i,linN;
long len;
LIN_INFO linf;
D_DOT *lxy;
   _GetLinNum(ai,&i,&linN); //取线实体数,i返回逻辑数,linN返回物理数
CXIANX xianx;
xianx.DoModal();
yy=xianx.m_xianx;
   for(i = 1;i < linN; i++)
   {
      if(_GetLin(ai,i,&lxy,&len,&linf) <= 0)
        continue;
      //处理线实体代码

{
	linf.ltp=linf.ltp+yy;
	_UpdateLinInfo(ai,i,&linf);
}
   }
	_UpdateWindow();



}

void CMyEditView::OnHua() 
{
		short ai=GetEditArea(REG);
long i,linN;
long len;
REG_INFO rinf;
long *rdat; 
   _GetRegNum(ai,&i,&linN); //取区实体数,i返回逻辑数,linN返回物理数
   int zz=0;
   Chua hua;
   hua.DoModal();
   zz=hua.m_huan;
   for(i = 1;i < linN; i++)
   {
      if(_GetReg(ai,i,&rdat,&len,&rinf) <= 0)
        continue;
      //处理区实体代码

{
	rinf.patno=rinf.patno+zz;
_UpdateRegInfo(ai,i,&rinf);
}
   }
		_UpdateWindow();
}







void CMyEditView::OnTst() 
{/*
char *old;
char *new1;
CLUJ lub;
lub.DoModal();

CString vv=lub.m_luj;
CString vvv=lub.m_luj2;
//vv.Replace("\P","\\\P");
old=(char*)(LPCTSTR)vv;

new1=(char*)(LPCTSTR)vvv;


//以上是准备工作


GISENV *newEnv;
newEnv=_GetEnv(NULL); 






 
	 		short ai=GetEditArea(REG);
long i,linN;
long len;
REG_INFO rinf;
long *rdat; 
int r=0;int g=0;int b=0;
int clrend;
   _GetRegNum(ai,&i,&linN); //取区实体数,i返回逻辑数,linN返回物理数

   for(i = 1;i < linN; i++)
   {
      if(_GetReg(ai,i,&rdat,&len,&rinf) <= 0)
        continue;
      //处理区实体代码

//设为旧库,先得到旧库里第i块区的颜色
strcpy(newEnv->slib,old);
_ModEnvFile(newEnv);
_ChangeMAPGISLib();
      	_GetAColorRGBValue(rinf.clr,&r,&g,&b); 
 
	//设为新库,找对应RGB的颜色值
strcpy(newEnv->slib,new1);
_ModEnvFile(newEnv);
_ChangeMAPGISLib();
        clrend=_FindNearColor(r,g,b); 
rinf.clr=clrend;
_UpdateRegInfo(ai,i,&rinf);

   
		_UpdateWindow();

   }
   	//	delete newEnv;*/
}

void CMyEditView::OnYanse() 
{/*
char *old;
char *new1;
CLUJ lub;
lub.DoModal();

CString vv=lub.m_luj;
CString vvv=lub.m_luj2;
//vv.Replace("\P","\\\P");

if (vv!=""&&vvv!="")
{
old=(char*)(LPCTSTR)vv;

new1=(char*)(LPCTSTR)vvv;


//以上是准备工作


GISENV *newEnv;
newEnv=_GetEnv(NULL); 




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -