继承自定义对话框

    技术2025-02-24  45

    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。

    最新回复(0)