子对话框如何调用父类(SID中的view类)中的变量以及自定义函数(包括响应函数)

dkbrain 2009-05-12 09:12:13
我用的是单文档(SID)类,在单文档view类中调用一个自定义的的对话框,在对话框中我想调用父类view中的变量和函数,应该怎么弄?
父类中的代码:
CCamera m_camera; //CCamera就是我自定义对话框所定义的类
m_camera.SetParent(this);
m_camera.DoModal();
在子类中:
this->GetParent()->……并未出现我自定义的变量以及响应函数(视图类中的按键响应函数)


各位有没有什么其他的方法可以获取父类指针或者其他的什么实现方法啊,谢谢!
...全文
147 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzg350 2009-05-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dkbrain 的回复:]
问题解决了,头文件还要加上C***Doc.h
[/Quote]

想不通为什么加了这个就可以。
你的弹出对话框是在view类中创建的吗?是用create()创建的吗?
如果那样,就得在参数传入this,指明创建的对话框的父类是cview。

不然的话,对话框认为他的父类是framewnd

楼主可以试一下。
dkbrain 2009-05-13
  • 打赏
  • 举报
回复
问题解决了,头文件还要加上C***Doc.h
dkbrain 2009-05-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lzg350 的回复:]
子类中:
(CView*)GetParent()->......

(CView*)好像应该是你从CView生成的具体的view的类名,要不找不到自定义的成员函数

((Cxxxview*)GetParent())->......
少了最外边的括号也不行啊
[/Quote]

楼主说的方法在父类也是对话框类就可以,但我子类的父类是单文档中的VIEW类啊,这个头文件一加上去就编译出错,怎么弄啊?
dkbrain 2009-05-13
  • 打赏
  • 举报
回复
1楼和2楼的好像不行啊,加上Cxxxview类的头文件都不行,一加上头文件就编译出错。
不加的话,找不到自定义的成员函数啊?
lzg350 2009-05-12
  • 打赏
  • 举报
回复
子类中:
(CView*)GetParent()->......

(CView*)好像应该是你从CView生成的具体的view的类名,要不找不到自定义的成员函数

((Cxxxview*)GetParent())->......
少了最外边的括号也不行啊
crst_zh 2009-05-12
  • 打赏
  • 举报
回复
子类中:
(CView*)GetParent()->......

15,979

社区成员

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

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