CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  界面

新手求教:SDI中使用无模式对话框作为子窗口,触发事件后如何通知Doc?

楼主FrozenSea(FrozenSea)2005-06-03 11:45:22 在 VC/MFC / 界面 提问

SDI程序中有一个简单的对话框,显示一些基本设置。调整设置后点击对话框上的按钮时,希望Doc类数据更新,然后进行相应的操作。由于这个对话框是由CDialog类继承的,无法获得Doc类的指针,因此不知如何处理。  
   
          望不吝赐教,多谢! 问题点数:100、回复次数:4Top

1 楼xlzxlich(阳光)回复于 2005-06-03 11:58:28 得分 100

.h:  
   
  class   CYourDoc;  
  class   CDlg   :   public   CDialog  
  {  
  DECLARE_DYNAMIC(CDlg)  
   
  public:  
  CDlg(CWnd*   pParent   =   NULL);       //   标准构造函数  
  CDlg(CYourDoc   *pDoc,   CWnd*   pParent   =   NULL);  
  virtual   ~CDlg();  
  CYourDoc   *m_pDoc;  
   
  //   对话框数据  
  enum   {   IDD   =   IDD_DIALOG1   };  
   
  protected:  
  virtual   void   DoDataExchange(CDataExchange*   pDX);         //   DDX/DDV   支持  
   
  DECLARE_MESSAGE_MAP()  
  };  
   
  .cpp:  
  添加  
  CDlg::CDlg(CYourDoc   *pDoc,   CWnd*   pParent   /*=NULL*/)  
  :   CDialog(CDlg::IDD,   pParent)  
  {  
        m_pDoc   =   pDoc;  
  }  
  Top

2 楼FrozenSea(FrozenSea)回复于 2005-06-03 12:15:53 得分 0

由于这个Dlg的指针是在Doc中定义的,所以doc.h中已经包含了dialog.h,这导致了我无法在dialog.h中又包含doc.h,而这里只是声明了这个类型。  
   
          结果就是在dialog.cpp中调用m_pDoc->Func()的时候,告诉我没有定义这个函数  
          error   C2027:   use   of   undefined   type   'CPointViewer2Doc'  
                  e:\work\program\vc6\pointviewer2\dlgselectclu.h(13)   :   see   declaration    
                  of   'CPointViewer2Doc'  
   
          怎么处理才好?多谢了!  
  Top

3 楼FrozenSea(FrozenSea)回复于 2005-06-07 11:14:15 得分 0

最后在dialog.cpp里面包含了doc.h  
  虽然个人觉得风格不太好,但也只好这样了。Top

4 楼eagle_boy()回复于 2005-07-01 12:18:17 得分 0

如果有Doc指针的话,定义一个用户消息,当需要更新时给Doc对象peek一个message,在Doc里面用消息函数处理Top

相关问题

  • 对话框弹出SDI的问题!
  • CHILD对话框上控件的事件触发不了???
  • 问题,怎样触发弹出对话框.在线等,
  • 基于对话框的应用程序,当鼠标移到对话框上面时,会触发哪个消息?
  • 对话框退出会触发什么事件?如何禁止按下esc对话框退出?
  • 怎样获得窗口的弹出对话框句柄,进而触发对话框的OnOK事件
  • 如何关闭对话框时不触发上面控件的killfocus?
  • 如何给一个弹出对话框创建一个CFrameWnd呀?这个对话框是sdi程序中的一个弹出对话框.
  • 如何给一个弹出对话框创建一个CFrameWnd呀?这个对话框是sdi程序中的一个弹出对话框.
  • 如何在SDI界面程序下的对话框中再探出一个对话框?

关键词

  • 函数
  • 指针
  • cpp
  • null
  • cdlg
  • 对话框
  • cyourdoc
  • doc
  • pdoc
  • pparent

得分解答快速导航

  • 帖主:FrozenSea
  • xlzxlich

相关链接

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

广告也精彩

反馈

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