前面做了一基于对话框的基类,详情见https://blog.csdn.net/yishang44/article/details/99680673。在做基于CFormView的基类时候进行了相似的操作。
//.h文件
class CBaseForm : public CFormView
{
DECLARE_DYNCREATE(CBaseForm)
protected:
//CBaseForm(); // protected constructor used by dynamic creation
CBaseForm(LPCTSTR lpszTemplateName);
CBaseForm(UINT nIDTemplate);
//
………………………………
/
};
//.cpp文件
IMPLEMENT_DYNCREATE(CBaseForm, CFormView)
CBaseForm::CBaseForm(LPCTSTR lpszTemplateName)
:CFormView(lpszTemplateName)
{
}
CBaseForm::CBaseForm(UINT nIDTemplate)
:CFormView(nIDTemplate)
{
}
……………………………………
本以为就结束了,没想到出了问题。问题如下图,IMPLEMENT_DYNCREATE宏出现问题。
查看MFC中的源码,IMPLEMENT_DYNCREATE宏的实现