初始化?或者view提供函数供外部调用

解决方案 »

  1.   

    GetParent返回的是哪个窗口指针,可能你自己都不知道。只是由于你强行转换为视图类指针,所以自然能够访问到某个数据,但它可能根本不是视图类指针啊
      

  2.   

    两次的m_value不属于同一个类对象吧
      

  3.   

    GetParent返回的是哪个窗口指针,可能你自己都不知道。
    这个对话框是View类响应一个菜单项点击事件时产生的,那么对话框GetParent()就应该是View类啊
      

  4.   

    与其这样,不如直接在对话框所属类中添加一个成员变量,然后在创建对话框对象后把View类的成员变量赋给对话框的成员变量,你说是不是呢?
      

  5.   

    MFC为我们创建的构造函数就是CDrawSetDlg::CDrawSetDlg(CWnd* pParent /*=NULL*/),这个参数就是让我们传入父窗口指针的,所以可以添加一个成员变量CWnd*来保存父窗口指针。这样相比于我的方法的优势在于可以通过指针访问需要的所有父类成员变量,而不是将父类成员变量一个个的传入。
    但是有个疑惑,参数(CWnd* pParent /*=NULL*/),是CWnd*类型,而创建对话框对象时CDrawSetDlg dlg(this);传入的指针是
    CXXView*类型,它是如何处理使之兼容的呢?父子类的指针问题我一直不是很清楚……