/************************************************************************************** 文 件 名:ItemSectionWell.h 主要功能: 多井剖面中井鼠标操作 主要函数列表: **************************************************************************************/ #pragma once #include "ItemWcsSingleWell.h" #include "ItemWellSection.h" namespace NItem { class CItemSectionWell:public CItemWcsSingleWell { public: CItemSectionWell(CSigmaDoc* pDoc, BOOL bAdd = FALSE); ~CItemSectionWell(void); /** @brief 绘制辅助手柄 */ virtual void OnDraw(CXyDC* pXyDC ,CDC* pDC); virtual void OnLButtonDown(CDC *pDC, UINT nFlags, CPoint point, int vk); virtual int OnMouseMove(CDC *pDC, UINT nFlags, CPoint point); virtual void OnLButtonUp(CDC *pDC, UINT nFlags, CPoint point, int vk = 0); virtual BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message); virtual int GetSubMenu(); virtual int DeleteSelection(void); //添加道 //virtual bool AddTrack(); virtual void SetItemSection(CItem* pItem) {m_pItemWellSection = (CItemWellSection*)pItem;}//= 0; CItemWellSection *GetItemSection() {return m_pItemWellSection;} BOOL IsAddWell(); virtual CWellPole *GetWellObject() ; protected: CItemWellSection* m_pItemWellSection; BOOL m_bAddWell; protected: void ReSetWell(CWellPole* pWell); void MoveWell_oldDF(CDC* pDC, UINT nFlags, CPoint point, CWellPole* pWellObj); void MoveWell_ResForm(CDC* pDC, UINT nFlags, CPoint point, CWellPole* pWellObj); void SetUndoRedoForMoveWell(POSITION pos, CWellPole* pMoveWellObj, CPoint2D delta); public: void MoveWellInSection(CWellSection* pSection, CWellPole* pMoveWellObj, CPoint2D delta); }; };