📄 myextedittool.cpp
字号:
#include "StdAfx.h"
#include "MyExtEditTool.h"
//==============================================//
//-----------------"删除点"的Tool---------------//
//==============================================//
CDelGroupPointTool::CDelGroupPointTool(BASEEDVIEW pEditView) : BaseGisTool(pEditView)
{
m_pMyEditView = (CMyEditView *)pEditView;
ASSERT(m_pMyEditView);
//直接利用"选择"操作的结果
DoDelGroupPoints();
}
CDelGroupPointTool::~CDelGroupPointTool()
{
}
int CDelGroupPointTool::LButtonDown (UINT nFlags, CPoint point)
{
//选择点实体
if (m_pMyEditView->SelectPnt(WM_LBUTTONDOWN,nFlags,point)==1)
DoDelGroupPoints();
return 1;
}
int CDelGroupPointTool::LButtonUp (UINT nFlags, CPoint point)
{
//选择点实体
if (m_pMyEditView->SelectPnt(WM_LBUTTONUP,nFlags,point)==1)
DoDelGroupPoints();
return 1;
}
int CDelGroupPointTool::RButtonUp (UINT nFlags, CPoint point)
{
//选择点实体
if (m_pMyEditView->SelectPnt(WM_RBUTTONUP,nFlags,point)==1)
DoDelGroupPoints();
return 0;
}
int CDelGroupPointTool::MouseMove (UINT nFlags, CPoint point)
{
//选择点实体
m_pMyEditView->SelectPnt(WM_MOUSEMOVE,nFlags,point);
return 0;
}
int CDelGroupPointTool::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
return 1;
}
void CDelGroupPointTool::DrawGraphics(MyDC mdc)
{
}
void CDelGroupPointTool::Reset()
{
m_pMyEditView->ClearPool();
//关闪
m_pMyEditView->_StopFlash(-1);
}
//删除点实体
void CDelGroupPointTool::DoDelGroupPoints()
{
SELECTGRAPH *selgph=NULL;
long lNum,li;
MyDC mdc;
selgph=m_pMyEditView->GetPool();
lNum=m_pMyEditView->GetPoolNum();
if (lNum<1)
return;
//将元素的DELETE_ACTION操作压栈
m_pMyEditView->UndoTool->PushSelGraphics(selgph,lNum,DELETE_ACTION);
mdc=m_pMyEditView->_GetMyDC();
for(li=0;li<lNum;li++)
{
if (selgph[li].type!=PNT)
continue;
if (!db_LockPntForUpdate(selgph[li].ai,selgph[li].elmi))
continue;
_DispPnt(mdc,selgph[li].ai,selgph[li].elmi,m_pMyEditView->DeleteCollor);
_DelPnt(selgph[li].ai,selgph[li].elmi);
}
m_pMyEditView->_DeleteMyDC(mdc);
//清空缓冲区内容
m_pMyEditView->ClearPool();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -