📄 myeditview.cpp
字号:
}
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 + -