熟悉C++和MFC的高手看过来~

explorer007 2007-01-09 10:36:43
其实问题很简单,但是偶搞不定~

想写一个类比如说叫CSheetDlg继承自CDialog,有一些自定义的成员函数,其他行为都继承CDialog的.但是Add Class时选Base Class为CDialog时,必须指定一个Dialog IDD.我并不想在此时指定,而是希望在CSheetDlg被继承时再指定具体的资源.因为CSheetDlg的某些行为即成员函数是纯虚函数,需要具体的继承类来实现其具体行为.

要求就是这样了.麻烦高手给段例程最好,在线等.
...全文
131 点赞 收藏 6
写回复
6 条回复
explorer007 2007年01月09日
搞定了~ 谢谢LS两位
回复 点赞
explorer007 2007年01月09日
直接在.h里删除这句吗
// enum { IDD = IDD_UNKNOWN };
可是CSheetDlg::CSheetDlg(CWnd* pParent /*=NULL*/)
: CDialog(CSheetDlg::IDD, pParent)的参数列表里又需要指定IDD,如果这里也删除.那继承类的IDD怎么指定给CDialog呢?

给个完整的solution吧~ .....
回复 点赞
xharry 2007年01月09日
.h
MyDlg(CWnd* pParent, int IDD);
int IDD;

.cpp
MyDlg::MyDlg(CWnd* pParent, int IDD)
: CDialog(IDD, pParent)
{

}



--------

MyDlg x(this, IDD_DIALOG1);
x.DoModal();


回复 点赞
王国凡 2007年01月09日
没关系啊, VC++ 帮你生成了一些绑定 dialog 资源的 code, 你把它删除就是了.
回复 点赞
explorer007 2007年01月09日
再解释一下,我现在的问题是Add Class时如果选Base Class为CDialog,VC就必须要你指定一个对应的Resource IDD.可是此时并没有具体的Rsc,要到CSheetDlg的继承类时,才有具体的Rsc与之对应.
回复 点赞
一分之千 2007年01月09日
没看明白,难道定义完类之后不能加成员函数了么?
回复 点赞
发动态
发帖子
界面
创建于2007-09-28

7973

社区成员

11.5w+

社区内容

VC/MFC 界面
社区公告
暂无公告