//自定义类h
class CdxRoot : public CObject
{
public:
CdxRoot();
DECLARE_SERIAL(CdxRoot)
public:
CString m_sName;
};
class CdxDrawObject :public CdxRoot
{
public:
CdxDrawObject();
DECLARE_SERIAL(CdxDrawObject)
};
//自定义类cpp
IMPLEMENT_SERIAL(CdxRoot, CObject, 1)
CdxRoot::CdxRoot()
{
m_sName="root";
}
IMPLEMENT_SERIAL(CdxDrawObject, CObject, 1)
CdxDrawObject::CdxDrawObject()
{
m_sName="draw object";
}
//调用测试
void Cort2View::OnBnClickedButton1()
{
//CString className("CdxRoot"); //ok
CString className("CdxDrawObject");
CObject *pObj=(CObject*)CRuntimeClass::FromName(className)->CreateObject();
CdxRoot *pRoot=(CdxRoot*)pObj;
AfxMessageBox(pRoot->m_sName);
}
class CdxRoot : public CObject
{
public:
CdxRoot();
DECLARE_SERIAL(CdxRoot)
public:
CString m_sName;
};
class CdxDrawObject :public CdxRoot
{
public:
CdxDrawObject();
DECLARE_SERIAL(CdxDrawObject)
};
//自定义类cpp
IMPLEMENT_SERIAL(CdxRoot, CObject, 1)
CdxRoot::CdxRoot()
{
m_sName="root";
}
IMPLEMENT_SERIAL(CdxDrawObject, CObject, 1)
CdxDrawObject::CdxDrawObject()
{
m_sName="draw object";
}
//调用测试
void Cort2View::OnBnClickedButton1()
{
//CString className("CdxRoot"); //ok
CString className("CdxDrawObject");
CObject *pObj=(CObject*)CRuntimeClass::FromName(className)->CreateObject();
CdxRoot *pRoot=(CdxRoot*)pObj;
AfxMessageBox(pRoot->m_sName);
}