SDI中怎样把弹出CDialog里的变量值传给CDocument????

解决方案 »

  1.   

    你在哪里调用你的CDialog,
    如果在CView中的话,可以获得Doc的指针,
    然后通过指针赋值就行了
      

  2.   

    CDialog结束返回后,取出数据赋值就是了。
      

  3.   

    我以前是这样做的,为对话框类添加一个CDocument指针类型的成员变量
    然后在构造这个对话框类对象的时候,作为构造函数的参数传递给对话框类
    这样就可以在对话框中操作CDocument类的成员了或者,把要传递的数据作为一个结构体,通过传递结构体指针的方式,在发送消息的时候发送给CDocument类
      

  4.   

    我是在菜单栏里设置的对话框,响应函数是在cdocument类里.
    还有就是怎样把数据用消息的方法发给cdocument类,消息只能在窗口间传送,但cdocument不是由cwnd派生的啊!!!!
      

  5.   

    我是在菜单栏里设置的对话框,响应函数是在cdocument类里.
    还有就是怎样把数据用消息的方法发给cdocument类,消息只能在窗口间传送,但cdocument不是由cwnd派生的啊!!!!
      

  6.   

    响应函数放在CView类里,
    不行吗?? 
      

  7.   

    if(yourdlg.DoModal() == IDOK)
    {
      CYourDoc* pDoc = GetDocument();
      pDoc->m_num = yourdlg.m_num;
    }
      

  8.   

    放在CDocument类里是因为,响应函数只是对数据进行操作不涉及显示.因为应用程序的数据最好放在cdocument类里,方便管理和存储