CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

大家帮忙看看对话框中获取视图类指针的错误。。

楼主chenfj01(开心辞典)2006-03-17 14:57:32 在 VC/MFC / 基础类 提问

CSolarView*   pView;   //视图类指针  
  pView=(CSolarView*)((CFrameWnd*)AfxGetApp()->m_pMainWnd)->GetActiveView();  
   
  在对话框Dlg里这样获取视图类指针可以吗?那要在Dlg.cpp中添加#include"SolarView.h"?这样会出错,说:  
  e:\opengl\solar\solarview.h(22)   :   error   C2143:   syntax   error   :   missing   ';'   before   '*'  
  e:\opengl\solar\solarview.h(22)   :   error   C2501:   'CSolarDoc'   :   missing   storage-class   or   type   specifiers  
  e:\opengl\solar\solarview.h(22)   :   error   C2501:   'GetDocument'   :   missing   storage-class   or   type   specifiers  
  该怎么做呢? 问题点数:20、回复次数:8Top

1 楼NJHS(天上来客(中国程序先锋网www.cppn.net)大量免费源代码下载)回复于 2006-03-17 15:02:29 得分 0

pView=(CSolarView*)((CMainFrame*)AfxGetApp()->m_pMainWnd)->GetActiveView();  
  Top

2 楼Seu_why(Newbie)回复于 2006-03-17 15:09:04 得分 0

CFrameWnd   *pFrame   =    
                            (CFrameWnd*)AfxGetApp()->m_pMainWnd;  
  CYourView   *pView   =   (CYourView   *)pFrame->GetActiveView();Top

3 楼chenfj01(开心辞典)回复于 2006-03-17 23:27:12 得分 0

我是在view类里面要创建一个对话框,所以在view里包含了"Dlg.h",可是在Dlg里又要用到view,该怎么办?Top

4 楼ysc918(白纸人生)回复于 2006-03-18 08:16:19 得分 0

#include   "SolarDoc.h"  
  #include   "   SolarView.h"Top

5 楼xiaoqiqixiao(七七)回复于 2006-03-18 09:32:16 得分 0

你只要记住,系统是编译.cpp,.c等文件的,因此,你要检查每个.cpp文件,看看是否包含了足够多的文件。  
  比如,在编译C.cpp文件时,可能包含了A.h文件,可是A.h文件又需要B.h文件中定义的某个类声明,而你又没在A.h文件中#include   "B.h"文件,那么就会出错,这时你可以直接在你的C.cpp文件中  
  #include   "B.h"  
  #include   "A.h"  
  就象楼上写的。当然,如果你的B.h文件又需要其它的文件,那你看着办吧  
   
  那么为什么A.h文件不直接#include   "B.h"呢,如果A.h需要B.h的话?  
   
  有时候,可能class   CA定义在A.h文件中,class   CB定义在B.h文件中,你的CA中定义了CB的实例或实例指针,而CB中又定义了CA的实例或实例指针,这时,你可以在class   CA前先声明一个class   CB;就不用再在A.h中#include   "B.h"了,这样就不存在交叉包含的问题了。  
  当然在A.cpp和B.cpp中都得包含A.h和B.h,而且得注意先后顺序。  
  Top

6 楼jiangsheng(蒋晟.Net[MVP])回复于 2006-03-18 10:57:02 得分 0

对话框和视图的关系是什么?一对多?多对一?一对一?多对多?Top

7 楼syy64(太平洋)回复于 2006-03-18 11:48:02 得分 0

在对话框类里要包含文档类和视类的头文件。Top

8 楼chenfj01(开心辞典)回复于 2006-03-20 09:24:53 得分 0

非常感谢各位的精彩回复,尤其是xiaoqiqixiao(七七)。我明白了。  
  To   jiangsheng(蒋晟.Net[MVP]),我还站在VC的门外面呢,还不会那么多对应,就是单视图的。顺便大家给介绍下你们学习VC的经验吧(不要说我跑题啊,呵呵)。Top

相关问题

  • 如何在对话框中获取视图指针?
  • 在单文档的对话框的子视图中如何获取主文档的指针
  • 如何取得分割对话框中的视图指针
  • 如何在对话框中获得当前视图或文档的指针?
  • 如何获取子对话框窗口的指针?
  • 怎样获取对话框中一个控件的指针?、
  • 怎样获取当前对话框的指针
  • 小问题,获取视图指针。
  • *********视图与对话框***********
  • 在对话框中创界了一个view , 在操作对话框的时候想获取 文档视图结构中的 视图

关键词

  • 视图
  • 文件
  • 指针
  • cpp
  • opengl
  • solarview
  • 对话框
  • csolarview
  • 实例
  • pview

得分解答快速导航

  • 帖主:chenfj01

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo