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

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

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

要求就是这样了.麻烦高手给段例程最好,在线等.
...全文
173 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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
  • 打赏
  • 举报
回复
没看明白,难道定义完类之后不能加成员函数了么?

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧