/************************************************************************************** 文 件 名:ItemFault.h 主要功能: 断层的属性、鼠标操作、删除 主要函数列表: 修改历史记录: **************************************************************************************/ #pragma once #include "item.h" #include "../ItemWellBase.h" #include "ItemWellSection.h" #include "MultiWellSectionLib\FaultObj.h" namespace NItem { class CItemFault :public CItemWellBase { public: CItemFault(CSigmaDoc* pDoc); ~CItemFault(void); virtual void OnLButtonDown(CDC *pDC, UINT nFlags, CPoint point, int vk); virtual void OnLButtonUp(CDC *pDC, UINT nFlags, CPoint point, int vk = 0); virtual int OnMouseMove(CDC *pDC, UINT nFlags, CPoint point); //virtual void OnRButtonDown(UINT nFlags, CPoint point); virtual BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message); virtual BOOL OnSetCursor(CPoint pt, int& handle); virtual int GetSubMenu(); /** @brief 绘制辅助手柄 */ virtual void OnDraw(CXyDC* pXyDC); virtual void OnDraw(CXyDC* pXyDC,CDC* pDC); /* 初始化属性窗口 */ //virtual BOOL InitPropertyGrid(CXTPPropertyGrid& grid); /*响应属性框改变消息的函数 */ //virtual BOOL OnGridItemChangeValue(CXTPPropertyGridItem* pItem); //断层对象赋值 virtual void SetDrawObj(CWellBaseObj* pObj) {m_pFaultObj = (CFaultObj*)pObj;}//= 0; //virtual void SetItemWell(CItem* pItem) {}//= 0; virtual void SetItemSection(CItem* pItem) {m_pItemWellSection = (CItemWellSection*)pItem;}//= 0; virtual CWellBaseObj* GetDrawObj() { return m_pFaultObj; } //得到断层对象 CFaultObj* GetFaultObject(){return m_pFaultObj;} CPoint2D GetBendCrossControlPt(CPoint2D ptIn,CPoint2D ptDrag); //void FaultReCut(CFaultObj* pFaultObj); //删除 virtual int DeleteSelection(void); virtual HCURSOR GetHandleCursor(int nHandle); void AddFaultPoint(); void DeleteFaultPoint(); public: BOOL m_bAdjustTrow; //是否整体调整断距 protected: CFaultObj* m_pFaultObj; //断层对象 CItemWellSection* m_pItemWellSection;//剖面Item int m_SelectHandle; }; };