MFC程序中通过向导建立了一个myFormView类,并自定义了一个myView类:
myFormView.cpp:
#include "myFormView.h"
......myFormView.h:
#include "myView.h"
{
public:
CString m_EDITValue;
......
}
在myView.cpp中,我需要设置myFormView中的m_EDITValue的值,可总是有问题!!!
通过CFormView *tempView =(CFormView *)((CMainFrame *)(AfxGetApp()->m_pMainWnd))->GetActiveView()获取到了一个指针,可以通过GetDlgItem()来控制myFormView中的控件,但是没办法设置m_EDITValue。把tempView强制转换成myFormView*,又提示“未声明的标示符”。在myView.cpp中加上#include “myFormView.h"后编译又通不过,提示一堆错误。
m_EDITValue变量是一个与EDIT控件挂钩的变量,我主要是希望能在myView中能够控制,myFormView中的成员,有什么好的办法吗?

解决方案 »

  1.   

    但是没办法设置m_EDITValue
    ==你想怎么设置啊???
    把tempView强制转换成myFormView*
    ==这不是异想天开么,等于是把猪要强制转换为狗,只是因为猪和狗的基类都是动物。
    我主要是希望能在myView中能够控制,myFormView中的成员
    ==myView本来就是myFormView的类实例,咋不能控制?
      

  2.   

    怪我没说清楚。myFormView是继承的CFormView类。m_EDITValue关联了myFormView中的一个EDIT控件,我现在是希望在myView.cpp中修改m_EDITValue的值,从而改变EDIT控件的内容。
      

  3.   

    lz应该单步debug下, 看看每个指针都取到的对不对, 包括MainFrame, FormView, Edit的. 
    然后通过SetWindowText来改变. 或者改变m_EditValue后 UpdateData(FALSE).