// DataRoot.cpp: implementation of the CDataRoot class. // ////////////////////////////////////////////////////////////////////// #include "stdafx.h" #include "DataManager.h" #include "DataNodeBaseEx.h" #ifdef _DEBUG #undef THIS_FILE static char THIS_FILE[]=__FILE__; #define new DEBUG_NEW #endif ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// CDataNodeBaseEx::CDataNodeBaseEx() { __classCanUseDirectly = TRUE; } CDataNodeBaseEx::~CDataNodeBaseEx() { } // 动态库的名字 //注意基类不能用AfxGetAppName(); 而其派生类,相反,必须用AfxGetAppName(); CString CDataNodeBaseEx::PV_GetAppName() { //AFX_MANAGE_STATE(theApp.GetModuleState()); AFX_MANAGE_STATE(AfxGetStaticModuleState()); return AfxGetAppName(); } // 获取类型名字, 名字以PV_开头表示每个派生类都必须重载该函数. //注意基类不能直接用类类型的名字,而用变量,而其派生类, 相反, 必须返回其类名的字符串 CString CDataNodeBaseEx::PV_GetType() { //AFX_MANAGE_STATE(theApp.GetModuleState()); AFX_MANAGE_STATE(AfxGetStaticModuleState()); return "CDataNodeBaseEx"; } // 获取属性的字符串值 BOOL CDataNodeBaseEx::V_GetPropertyTxtValue(CString strPropertyName, CString &strTxtValue) { //AFX_MANAGE_STATE(theApp.GetModuleState()); AFX_MANAGE_STATE(AfxGetStaticModuleState()); return CDataNodeBase::V_GetPropertyTxtValue(strPropertyName, strTxtValue); } // 设置或增加属性的字符串值,名字以V_开头表示每个派生类强烈建议重载该函数. BOOL CDataNodeBaseEx::V_SetPropertyTxtValue(CString strPropertyName, CString strTxtValue, BOOL bAddIfNotExist, UINT uAttrFlag) { //AFX_MANAGE_STATE(theApp.GetModuleState()); AFX_MANAGE_STATE(AfxGetStaticModuleState()); return CDataNodeBase::V_SetPropertyTxtValue(strPropertyName, strTxtValue, bAddIfNotExist, uAttrFlag); } // 是否为管理类的节点 BOOL CDataNodeBaseEx::PV_IsManagerNode() { AFX_MANAGE_STATE(AfxGetStaticModuleState()); return FALSE; } // 保存对象到文件 CString CDataNodeBaseEx::V_GetSaveFileName() { AFX_MANAGE_STATE(AfxGetStaticModuleState()); return ""; }