比如有2个对话框类A和B,当点下A对话框的某个按钮是弹出B对话框,B对话框有2个按钮,当点击这2个按钮时分别想要调用A类的2个函数 具体要如何实现 谢谢大家了!

解决方案 »

  1.   

    1-自定义消息
    2-对话框this指针
      

  2.   

    上面都说了this指针,每个对象都有这么一个指向自己的指针。
      

  3.   


    class CADialog:public CDialog
    {
       void PassToBDialog()
       {
          CBDialog b;
          b.SetADialog(this);
       }
    }class CBDialog:public CDialog
    {
       CADialog * m_pA;
       void SetADialog(CADialog * pA)
       {
          m_pA = pA;
       }
    }
      

  4.   

    这个看你的程序具体写法了,我倾向与改造B类的构造函数,在A类调用B类时,将A类的this指针通过构造函数传进去。
      

  5.   

    A弹出B,那么可以把A看成时B的父窗口,那么可以修改B的构造函数,加个A的指针,同时在B中增加一个A的指针来保持构造B对象时传递的指针。然后就依靠该指针直接调用public的函数,或者发送自定义的消息