/************************************************************************************** 文 件 名:ItemAddBend.h 主要功能: 道内层位手工添加bend交互 主要函数列表: 1 virtual BOOL InitPropertyGrid(CXTPPropertyGrid& grid); 初始化属性窗口 2 virtual void OnLButtonDown(UINT nFlags, CPoint point); 鼠标操作 3 virtual void OnLButtonUp(UINT nFlags, CPoint point); 4 virtual void OnLButtonDblClk(UINT nFlags, CPoint point); 5 virtual void OnMouseMove(UINT nFlags, CPoint point); 6 virtual void OnDraw(CXyDC* pXyDC); 绘制辅助手柄 **************************************************************************************/ #pragma once #include "item.h" #include "ItemWcsSingleWell.h" #include "ItemWcsTrackIn.h" class CBendObj; namespace NItem { class CItemAddBend : public CItemWellBase { public: CItemAddBend(CSigmaDoc* pDoc); virtual ~CItemAddBend(void); virtual void SetDrawObj(CWellBaseObj* pObj) { m_pObj = (CInTrackDepthSegment*)pObj;} virtual void SetItemWell(CItem* pItem) {m_pItemWell = (CItemWcsSingleWell*)pItem;}//= 0; //virtual void SetItemSection(CItem* pItem) {m_pItemWell = (CItemWcsSingleWell*)pItem;}//= 0; virtual CWellBaseObj* GetDrawObj() { return m_pObj; } /** 绘制辅助手柄 */ virtual void OnDraw(CXyDC* pXyDC,CDC* pDC); virtual void OnLButtonDown(CDC *pDC, UINT nFlags, CPoint point, int vk); virtual void OnLButtonUp(CDC *pDC, UINT nFlags, CPoint point, int vk = 0); virtual void OnLButtonDblClk(UINT nFlags, CPoint point); virtual int OnMouseMove(CDC *pDC, UINT nFlags, CPoint point); virtual BOOL OnSetCursor(/*CWnd* pWnd,*/ UINT nHitTest, UINT message); virtual BOOL OnSetCursor(CPoint pt, int& handle); //计算新添加bend连层控制点所在直线的左右端点的y值以及左右层的高度 //void ComputeBendPosition(CBendObj* pBend,double &valueLeft,double &valueRight,double &heightLeft,double &heightRight); void ReBendLeftRightList(CBendObj* pBend); virtual int DeleteSelection(void); ///** @brief 初始化属性窗口 */ //virtual BOOL InitPropertyGrid(CXTPPropertyGrid& grid); ///** @brief 响应属性框改变消息的函数 */ //virtual BOOL OnGridItemChangeValue(CXTPPropertyGridItem* pItem); CItemWcsTrackIn* GetLayerItem() { return m_pItemTrackIn; } protected: CInTrackDepthSegment * m_pObj; CItemWcsSingleWell* m_pItemWell; CItemWcsTrackIn* m_pItemTrackIn; protected: void MakeBendForOld(CWellSection* pSection, CWellPole * pWell , UINT nFlags, CPoint point); void MakeBendForResform(CWellSection* pSection, CWellPole * pWell ,UINT nFlags, CPoint point); }; };