TAB之间的两个对话框类 A B;
类A中一button可OnStart() OnStop();
当A执行OnStart()时,如何通知到B---------(是该用sendmessage还是全局变量去通知?)
此时B需要A OnStop()之后才可做----------(这一步我需要在B中new一个A的指针去调用OnStop()么?)
恳请高人指点。

解决方案 »

  1.   

    通过GetParent()来获取父类指针,
    父类就可以操作另一个窗口了
      

  2.   

    在类B中new一个A的指针调用出现crash。
      

  3.   

    在A的头文件里声明extern bool bStatus;
    在B里判断bStatus时出现link错误
    为啥呢
      

  4.   

    获取一个父类指针,这样当A执行OnStart()时,可用此指针通知B,像3#说的,在B中new一个A的指针调用出现crash,如此调用A的OnStop()
      

  5.   

    PostMessage
    发送消息VC++自定义发送消息含完整代码
      

  6.   

    对话框创建时把各自指针注册给Tab,同时对话框都保存Tab的指针,这样就可以对话框通过Tab指针来获取其他对话框指针了
      

  7.   

    同上,你的对话框的父窗口不都是tab吗?对话框的类保存tab类的指针即可
      

  8.   

    公共变量,保存每个tab的指针,每一个tab内部都保存公共变量的指针
      

  9.   

    在父窗口处理 WM_NOTIFY 消息。
      

  10.   

    类A构造函数:   CNode::CNode(CWnd* pParent, CConnectionMgr* pConnectionMgr){...};
    我在类B里new一个A的指针 CNode* pNode会出现crash
    应该怎么做呀
      

  11.   

    选项卡之间的访问顺序的控制,最好使用在选项卡父窗口定义的变量的状态来检测
        若全局变量则定义和 Extern的时候不要赋值,使用后再赋值,否则会出现link错误// 选项卡之间的管理方式
    见过一个类似的处理方式
    建立通用页面类class CommonPage : public CObject
    {
    public:
    CCommonPage(void);
    public:
    ~CCommonPage(void);
            ...
    CCommonDlg* m_pDialogPage; // CCommonDlg 是一个不作任何功能的对话框类
    ...
    };
    两个子话框A,B 
    A_Dlg adlg; // 定义A对话框
    例如: m_pDialogPage = (CCommonDlg*)&adlg; 
    通过m_pDialogPage  可以调用A和B或者更多的选项卡对话框实例
    在继承子TabCtr的子类当中可以定义页面数组,存放通用页面
    这样你就可以在继承自TabCtr的子类当中获得CommonPage(通用页面)从而获得你说的A,B
    选项卡管理类定义如下:class CTabSheet : public CTabCtrl  // 继承选项卡的类
    {  // 属性     
      int     m_nPages; 
      int     m_nActPage;
      CObArray m_Dialogs;  //   // 方法
       ......
       CCommonDlg *GetPage (int nPage); // CCommonPage数组
       CCommonDlg *GetActivePage (void);
      ......不知能不能帮你,