重写派生类的构造函数。让IID成为构造函数的一个参数。
解决方案 »
- 急急急!跪求高人!MFC连接数据库错误:unhandled exception in 文件名.exe (KERNEL32.DLL):0xE06D7363:...
- 〖急切求助〗关于验证码和视频加字幕问题...
- C语言 我很着急的一个问题
- 关闭对话框,主界面也关闭,程序退出,没有添加程序退出消息映射,请教原因
- 在VC6.0中使用 CAtlRegExp??
- 请问武汉的烽火集成这个公司如何啊?
- 虚拟内存到内存的读写
- 谁有使用MSFlexGrid控件的代码?
- atl做word插件少文件!!
- 熟悉ON_NOTIFY宏的大虾请进
- 菜鸟问题,我被MFC的Create弄糊涂了,帮帮我。
- 有谁用过Tab控件,请教一下
在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。