?? 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 + -