/************************************************************************************** 文 件 名:ItemTrack.h 主要功能: 井内道操作 主要函数列表: 1 virtual BOOL InitPropertyGrid(CXTPPropertyGrid& grid); 初始化属性窗口 6 virtual BOOL OnGridItemChangeValue(CXTPPropertyGridItem* pItem); 响应属性框改变消息的函数 **************************************************************************************/ #pragma once #include "item.h" #include "ItemSingleWell.h" namespace NItem { class CItemTrack :public CItemWellBase { public: CItemTrack(CSigmaDoc* pDoc); ~CItemTrack(void); /** @brief 初始化属性窗口 */ //virtual BOOL InitPropertyGrid(CXTPPropertyGrid& grid); ///** @brief 响应属性框改变消息的函数 */ //virtual BOOL OnGridItemChangeValue(CXTPPropertyGridItem* pItem); ///** 响应属性框内按钮弹出新的对话框*/ //virtual void OnInplaceButtonDown(CXTPPropertyGridItem* pItem); virtual void SetDrawObj(CWellBaseObj* pObj) {m_pTrack = (CTrackObj*)pObj;}//= 0; virtual void SetItemWell(CItem* pItem) {m_pItemWell = (CItemSingleWell*)pItem;}//= 0; //virtual void SetItemSection(CItem* pItem) {}//= 0; virtual CWellBaseObj* GetDrawObj() { return m_pTrack; } /** 绘制辅助手柄 */ 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 int DeleteSelection(void); /// 根据道类型创建道内对象 CInTrackDepthSegment* CreatTopEndObj(); void ReadWavetraceData(CTrackObj *pTrack,CString newname); BOOL m_bAddFaultPoint; public: BOOL m_bAddTrackIn; BOOL m_bWellFrame; std::vector m_DcVec; //当与多个窗体相关时,放置多个窗体的DC std::vector m_WndVec; protected: COLORREF seisfrSolidColor,seisfrLineColor, seisbkColor; int m_nNormalizeMode; //剖面归一化方式 int m_nDrawType; CTrackObj * m_pTrack; CItemSingleWell* m_pItemWell; CColorBase m_colorBar; //曲线道渐变色 //void EnableItemTrackCurveBrush(CXTPPropertyGridItem* pItem, int nTrackCurveBrush); //void EnableItemTrackCurveFill(CXTPPropertyGridItem* pItem, int nTrackCurveFill); void ReadCurveData(CTrackObj* pTrack); //void AddReverseCurveRangeItem(CXTPPropertyGridItem* pParentItem,CTrackObj *pTrack); }; };