我先从CDialog派生了一个类CMyDialog1(与CMyDialog1关联的对话框ID为ID1),然后在这个新派生的类中添加代码以实现我想要的对话框风格,这样以后直接从CMyDialog1派生出来的类就与基类风格一样了,省事。但是当我从CMyDialog1派生了一个类CMyDialog2(与CMyDialog2关联的对话框ID为ID2),程序显示的界面是基类ID1而不是我想要的ID2,如果要显示ID1该怎么办啊?还有与CDialog关联的对话框ID是什么啊?多谢多谢!!!
调试欢乐多
CDialog( UINT nIDTemplate, CWnd* pParentWnd = NULL );
它指定了这个类的对话框模板ID,这个IDD在构造函数中使用,构造函数一般是这样写的:CMy::CMy(CWnd* pParent /*=NULL*/): CDialog(CMy::IDD, pParent),其中的,CMy::IDD,就是用上面定义的ID来初始化。
CMyDialog1(UINT nID, CWnd* pParent = NULL);
再将CMyDialog1构造函数的定义形式改为
CMyDialog1::CMyDialog1(UINT nID, CWnd* pParent /*=NULL*/): CDialog(nID, pParent)
2.将CMyDialog2构造函数的定义形式改为
CMyDialog2::CMyDialog2(CWnd* pParent /*=NULL*/)
: CMyDialog1(CMyDialog2::IDD,pParent)