本人在开发程序的过程中遇到了一个急手的问题:
一,请问在MFC框架中,他们相互彼此如何调用.如在CMyFrame 中调用 CMyDoc, CMyView等.
二,在新生成的CMyDialog类中,如何调用CMyDoc, CMyView等.
三,如何才能在MFC框架类中操作CMyDialog中的控件,如:在CMyDoc中调用CMyDialog中的CListBox对像m_pList,如何才能让执行CMyDialog::m_pList.AddString("string")成功.!!!如能解决,高分相送!!!
谢谢!!!

解决方案 »

  1.   

    一、CMyFram中可以直接定义CMYDOC和CVIEW对象后调用。
    二、应该也可以直接调用。
    三、可以自定义消息。向其发送。。
      

  2.   

    参考我BLOG上面这篇文章:http://www.xiaozhou.net/cooldog/blogview.asp?logID=88
      

  3.   

    实例指针如(CMyView*)GetActiveView()
      

  4.   

    先谢谢各位的帮助,kugou123(酷狗)(http://www.xiaozhou.net) 你的blog我已看过了,但没有看到,如何从一个CMyDialog中得到可以引用CMyDoc类的对象去引用一个声明在CMyDoc类中的CObArray数组的值在,CMyDialog.DoModal()之前,将值添加到CMyDialog中的m_pList对像中.
    krh2001(边城浪子) 你能举个例子吗?
      

  5.   

    或者开线程,发消息给模态对话框
    SendMessage/PostMessage之前判断IsWindow
      

  6.   

    整两句混点分儿!1.发送消息,或者使用指向对话框或文档视图的指针
    2.CMyDoc *pdoc = ((CMyView*)AfxGetMainWnd()->GetActiveWindow())->GetDocument();
      或者在建立对话框的时候将父窗口设置成为CMyView,然后通过父窗口指针->GetDocument();3.在建立对话框的时候将对话框的指针保存到框架全局成员比如 
      CMyDlg* pMydlg;             //在框架类成员中声明
      pMydlg->Create(IDD_xxxDLG,this);    //建立对话框
      pMydlg->GetDlgItem(IDC_LIST1)->AddString("1111");  //用对话框的指针操作对话框  也可以找到对话框的LISTBOX控件句柄直接发送通告消息(LVN_INSERTITEM),但是这样做很复杂有些困难,楼主还是用我上面所说的方法吧,很简单
      

  7.   

    刚才说错了,是普通的添加消息 具体自己查,
    不能是通告消息,那个是增加完字符串以后 控件发送给窗口的消息CSDN的人都知道哇!