#ifndef TRACKINSHOT_H #define TRACKINSHOT_H #pragma once ////////////////////////////////////////////////////////////////////////////// //主要功能: // 射孔符号类 ///////////////////////////////////////////////////////////////////////////// class AFX_EXT_CLASS CInTrackShot : public CInTrackTextBase { protected: DWORD m_nShotFlags;//开关状态 enum ShotFlags { ShotFlagsShowDepthText = 0x0001, //显示顶底文本 }; void Init(); public: CInTrackShot(); CInTrackShot(const CRect8& position); double m_nShot; // 射孔数 CString m_strGun; // 枪型 CString m_strBullet; // 弹型 CString m_strResult; // 层解释类型 COleDateTime m_date; // 日期 CString m_strMark; // 填充符号 CXy* m_pMarkFill; // 填充符号指针 double m_fDensity; // 孔密 double m_fFluidDensity;// 压井液密度 double m_fFluidDepth; // 掏空深度 CString m_strFluidType; // 压井液类型 CString m_strMethod; // 射孔方式 double m_fFrameVertLinePos;//孔洞相对于层顶底的位置 COLORREF m_PatternBorderColor; //孔洞边缘颜色 COLORREF m_PatternFillColor;//孔洞填充颜色 CString m_PatternShape;//孔洞式样,Ellipse代表圆形 CString m_strStyle;//绘制式样,Pattern代表图案 int m_nAlign; //文本停靠式样 0 左 1 中 2 右 // Implementation public: virtual void Draw(CXyDC* pDC); virtual void Serialize(CArchive& ar, const short &ver); virtual void SetShotFlags(DWORD flags); virtual void SetShowDepthText(BOOL bflag); virtual DWORD GetShotFlags(); virtual BOOL IsShowDepthText(); void GetLayerTypeStrArr(CStringArray& strArr); protected: //绘制斜井深度段 void DrawInclined(CXyDC* pDC); public: virtual int ReadPCG_SelfData(CKXmlParse& xp, const short& ver, CTrackObj* pTrack); virtual void WritePCG_SelfData(CFile &fw, int nBaseTabNum); }; #endif