1. 如果生成你自己的这个公共类?
在ClassWiazard中强行生成一个新类,比如CMyDlg,不指定Source ID。在新生成的头文件中,去掉enum { IDD = _UNKNOWN_RESOURCE_ID_ };这一行。
把构造器说明改为如下的样子:
CMyDlg(UINT id = NULL,CWnd* pParent = NULL);
在相应的cpp文件中,把构造器的改成这个样子:
CMyDlg::CMyDlg(UINT id/*=NULL*/,CWnd* pParent )
: CDialog(id, pParent)
{
//{{AFX_DATA_INIT(CMyDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
至此,这个类就是合法的了。
2. 如何继承它。
有方法可以让类向导为你生成一个直接继承自CMyDlg的子类,但那样反而要你自己去做很多事;所以一般采用的方法是:
双击你的对话框资源,弹出Add Class 对话框,不要改其它设置,只写上你的新类名,生成完成后,打开相应的.h和.cpp文件,把其中的所有CDialog字样全换为CMyDlg。
继承自定义对话框
最新推荐文章于 2016-08-12 08:44:05 发布