/************************************************************************* 【文件名】 ViewResBase.h 【功能模块和目的】 资源视图基类头文件 【开发者及日期】 郑石诺 2015/06/29 【版本】 V1.0.0 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ #pragma once #include "IView.h" #define VIEW_CONTROL_TYPE CMFCPropertyGridCtrl #define VIEW_ITEM_TYPE CMFCPropertyGridProperty #define PVIEW_ITEM_TYPE CMFCPropertyGridProperty* class CViewGroup; /************************************************************************* 【类名】 CViewResBase 【功能】 【接口说明】 资源视图基类 【开发者及日期】 郑石诺 2015/06/29 【版本】 V1.0.0 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ class CViewResBase : public VIEW_CONTROL_TYPE, public CViewBase { DECLARE_DYNAMIC(CViewResBase) public: CViewResBase(void); virtual ~CViewResBase(void); bool create(CDisplayWnd* pWnd, UINT PanId); void newSize(int cx, int cy); void showTogether(CViewResBase* pView); virtual void onResNew(DEV_RES_ID& ResId); virtual void onResDel(DEV_RES_ID& ResId); virtual void onResState(DEV_RES_ID& ResId) = 0; protected: DECLARE_MESSAGE_MAP() protected: virtual bool _createControl(void) = 0; virtual void _addRes(DEV_RES_ID& ResId); void _delEmptyNode(PVIEW_ITEM_TYPE pItem); PVIEW_ITEM_TYPE _getDev(UINT DevNo); PVIEW_ITEM_TYPE _getBoard(PVIEW_ITEM_TYPE pDev, UINT BoardNo); PVIEW_ITEM_TYPE _getSpan(PVIEW_ITEM_TYPE pBoard, UINT SpanNo); CViewGroup* _getResGroup(DEV_RES_ID& ResId); void _addResGroup(CViewGroup* pGroup); void _delResGroup(CViewGroup* pGroup); protected: CList m_ResGroupList; };