/*************************************************Description: 实现道内对象的属性页显示以及属性交互,并且完成道内对象的删除功能 Others: Function List: 1. virtual BOOL InitPropertyGrid(CXTPPropertyGrid& grid); 初始化属性窗口 2. virtual BOOL OnGridItemChangeValue(CXTPPropertyGridItem* pItem);响应属性框改变消息的函数 3. virtual void OnInplaceButtonDown(CXTPPropertyGridItem* pItem);响应属性框内按钮弹出新的对话框 4. void RemoveSelectedTrackIn();删除选中的道内对象 5. virtual void DeleteSelection(void);剖面或栅状图时,移除道内与连层相连层时相关的连层也要删除 *************************************************/ #pragma once #include "ItemWellBase.h" #include "ItemSingleWell.h" #include "WellPoleLib/InTrackLayerGroup.h" namespace NItem { class CItemTrackIn : public CItemWellBase { public: CItemTrackIn(CSigmaDoc* pDoc); virtual ~CItemTrackIn(void); ///** @brief 初始化属性窗口 */ //virtual BOOL InitPropertyGrid(CXTPPropertyGrid& grid); ///** @brief 响应属性框改变消息的函数 */ //virtual BOOL OnGridItemChangeValue(CXTPPropertyGridItem* pItem); ///** 响应属性框内按钮弹出新的对话框*/ //virtual void OnInplaceButtonDown(CXTPPropertyGridItem* pItem); virtual void SetDrawObj(CWellBaseObj* pObj) {m_pTrackIn = (CWellBaseObj*)pObj;}//= 0; //virtual void SetItemWell(CItem* pItem) {}//= 0; //virtual void SetItemSection(CItem* pItem) {}//= 0; virtual CWellBaseObj* GetDrawObj() { return m_pTrackIn; } /** @brief 移除道内选中的对象 */ void RemoveSelectedTrackIn(); /** @brief 剖面或栅状图时,移除道内与连层相连层时相关的连层也要删除*/ virtual int DeleteSelection(void); enum LayerLinkFlags { LayerLinkFlagLeft = 0x0001, // 左连接 LayerLinkFlagRight = 0x0002, // 右连接 LayerLinkFlagAll = LayerLinkFlagLeft|LayerLinkFlagRight, }; enum LayerPropertyFlags { LayerPropertyFlagColor = 0x0001, // 颜色 LayerPropertyFlagFont = 0x0002, // 字体 LayerPropertyFlagLitho = 0x0004, // 岩性 LayerPropertyFlagTop = 0x0008, // 顶部不整合 LayerPropertyFlagBottom = 0x0010, // 底部未钻穿 LayerPropertyFlagAll = LayerPropertyFlagColor|LayerPropertyFlagFont|LayerPropertyFlagLitho|LayerPropertyFlagTop|LayerPropertyFlagBottom, }; void ChangeAllLayerSet(CInTrackLayerGroup* pLayer, DWORD nLayerLinkFlag, DWORD nLayerPropertyFlag); protected: CWellBaseObj* m_pTrackIn; BOOL m_bChangeAllLayerSet; protected: CImageInsert* ReadImage(LPCTSTR lpcsImageName); }; };