大侠:
 
我在用你的531地示例的时候,就是ASSERT(PARENT)
CWND* MPARENT ;
这条语句过不去,不知道为什么?
你的例子中,无模式对话框的销毁也用到了自定义消息,所以这条很重要,但是,我不知道了.
就是对话框的数据通过自定义消息传递到其它窗口的例子.我不知道该怎么办了.
出此之外,还有没有其它方法把数据传到其它窗口呢? 我在MAINFRAME.CPP 中启动定时器,时间到就改变DATA得值,而这个DATA是菜单命令ontest弹出的对话框中的按钮button所修改的值,
是不是一定要创建无模式对话框才能将改变得值送到MAINFRAME.CPP中,
是不是一定要用消息才能将改变得值送到MAINFRAME.CPP中
CTestDlg2::CTestDlg2(CWnd* pParent /*=NULL*/)
 : CDialog(CTestDlg2::IDD, pParent)
{
/*m_pParent为一成员变量,用于保存通知窗口的指针,
所以该指针不能是一个临时指针*/
 
 ASSERT(pParent);
 m_pParent=pParent;
 //{{AFX_DATA_INIT(CTestDlg2)
  // NOTE: the ClassWizard will add member initialization here
 //}}AFX_DATA_INIT
}
 
 
 CSMSFormView::CSMSFormView(CWnd* pParent /*=NULL*/)
 : CDialog(CSMSFormView::IDD, pParent)
{
我在这里添加的是一样的代码,为什么总会出错???????????????????????????/
****************
 ASSERT(pParent);
 m_pParent=pParent;
***********************
 //{{AFX_DATA_INIT(CSMSFormView)
 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
 m_StaticPort = _T("");
 //}}AFX_DATA_INIT
}
 
 
多谢大侠
 
一个莱鸟多谢帮忙!
给我回信吧:[email protected]

解决方案 »

  1.   

    你在使用CSMSFormView类定义的成员变量的时候,没有把父窗口的句柄传递到该类的构造函数,所以pParent这个参数的值为NULL,所以会出错!所以你定义的时候,应该这样定义:
         CSMSFormView smFormView(this);
    这样才行!
      

  2.   


    他是自动生成的,并没有显示的构造函数,
    而且我在调用的时候,他是个对话框,所以用
    CSMSFormView SMSFormView;
    SMSFormView.DOMADAL();.是不是把上面的改成
    CSMSFormView SMSFormView 这样:CSMSFormView::CSMSFormView(CWnd* pParent /*=NULL*/)
     : CDialog(CSMSFormView::IDD, pParent)
    {
    我在这里添加的是一样的代码,为什么总会出错???????????????????????????/
    ****************
     ASSERT(pParent);
     m_pParent=pParent;
    ***********************
     //{{AFX_DATA_INIT(CSMSFormView)
     m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
     m_StaticPort = _T("");
     //}}AFX_DATA_INIT
    }
     
     
    多谢大侠
     
    一个莱鸟
      

  3.   

    skybblue(天蓝)
    说的有道理,你先按他说的试试?