我是一个菜鸟,感谢各位的不吝赐教。是这样的,我有两个对话框,其中一个有bn1 和bn2按钮,另外一个有bn3按钮,当我按bn1时候,会调出另外的对话框,bn1中定义了那个框的对象,然后按bn3关闭,接着的操作就是按bn2,里面要用到那个对话框的东西,又不能重新来定义这个类的对象,请问我怎么得到原来那个对话框的东西?也想着用什么全局的变量定义,不知道能不能用。请赐教。

解决方案 »

  1.   

    不需要全局,只要在第一个对话框里设一个第二个对话框的成员变量,bn1里用对话框的成员变量来打开对话框就行了,这样在bn2里也用对话框中的成员变量就可以取到对话框2中的变量了。
      

  2.   

    你这个涉及到两个进程之间的通信
    你可以用内存映射来在两个进程之间共享数据
    数据不大的话,也可以自己定消息号,用WINDOW的消息机制来传递
    你自己找找这方面的资料看看吧,可以到www.google.com输入关键字自己查
      

  3.   

    感谢ynyn(风林火山),但是还是存在问题,我在第一个对话框的.h里面先声明了那个对话框的类,然后在public中定义了一个对象,结果当我按下bn1时候出现,
    unhandled exception in my.exe:0xc0000005:access violation?
      

  4.   

    .h 文件class CDlgSelectitem; /////////////////////////////////////////////////////////////////////////////
    // CDlgFirst dialogclass CDlgFirst : public CDialog
    {
    // Construction
    public:
    CDlgFirst(CWnd* pParent = NULL);   // standard constructor
    CDlgSelectitem *m_pDlgSelectitem;
    bn1:
    void CDlgFirst::OnItems() 
    {
    m_pDlgSelectitem->DoModal();    就在这里出错!
      

  5.   

    class CDlgSelectitem; 改成
    #include "DlgSelectitem.h";应该可以吧
      

  6.   

    #include "DlgSelectitem.h"这一行我已经写到了.cpp文件里面了。
      

  7.   

    CDlgSelectitem *m_pDlgSelectitem;
    真是晕倒,你只申明了一个指针变量,没有分配内存呀
    这个完全没有必要用指针的嘛,如果你一定要用的话,至少在构造函数里
    m_pDlgSelectitem = new CDlgSelectitem;