读书人

DECLARE_DYNAMIC有什么用?解决办法

发布时间: 2012-02-03 22:02:47 作者: rapoo

DECLARE_DYNAMIC有什么用?
看到了别人发的帖子,我想知道这个声明有什么用啊?DECLARE_DYNAMIC(MainDlg)
是不是说为了run服务的啊?


[解决办法]
动态创建的时候有用,这是一个宏
#define DECLARE_DYNAMIC(class_name) \
public: \
static const AFX_DATA CRuntimeClass class##class_name; \
virtual CRuntimeClass* GetRuntimeClass() const; \
这样从文件中读取一个类的名字就可以动态创建一个类对象,CRuntimeClass这个结构体记录了类的信息,DECLARE_DYNAMIC(class_name)就是用来声明这个结构体,然后使用IMPLEMENT_DYNAMIC(class_name,base_class_name)宏进行填充。

读书人网 >VC/MFC

热点推荐