我在工作中遇到了如下的问题,我要在一个对话框(A)中添加一个按钮,点击此按钮后弹出另外一个模态对话框(B)。A、B对话框的构造函数带有一个参数,此参数指明当前对话框的父视图指针。于是我在A对话框的按钮中添加B的构造实例,于是我需要知道B的父视图指针(也就是A的视图指针)。我在网上搜索了很多材料,大部分的解决方法就是:CMainFrame *pMain=(CmaimFrame *)AfxGetApp()->m_pMainWnd;
CyouView *pView=(CyouView *)pMain->GetActiveView();于是,pView就可以作为我的B类的构造函数参数传进来。但是我的程序执行起来之后在此处死掉了。我还在Debug中,想问问有经验的同志们哪位知道更好的办法?

解决方案 »

  1.   

    你的工程有视图吗,若没有用NULL代替好了
      

  2.   

    问题已经解决了,根据思危的提示,我将this指针作为参数传入了我的Dialog的构造函数。构造函数是在参数的初始化列表当中调用了CDialog的构造函数:explicit CDialog(
       UINT nIDTemplate,
       CWnd* pParentWnd = NULL 
    );this指针是当前Dialog的CWnd指针,所以这样传入之后参数确实是父Dialog的CWnd,所以我的模态对话框问题解决了。感谢大家的帮助,还有另外一个帖子中的几位同志,谢谢了。