我有一个对话框 IDD_MY_SHOW ,属于一个CFormView 派生的类 CMyView, 现在,我想添加一个类似于对话框的OnInitDialog() 函数,可是由于对话框IDD_MY_SHOW属于一个CFormView派生的类, 也就没有windows Message, 所以没有OnInitDialog() 函数,我该加个什么函数,来代替这个 初始化的函数呢?

解决方案 »

  1.   

    可以用CView的OnInitialUpdate(),这就是OnInitDialog()等同的初始化函数
      

  2.   

    OnInitialUpdate()就是CFormView的初始化函数
      

  3.   

    不行啊,我要借用对话框的的wnd,
    CMainFrame* pFrame=(CMainFrame*)(AfxGetApp()->m_pMainWnd);
    ASSERT(pFrame);
    CChildFrame* pChild=(CChildFrame*)pFrame->GetActiveFrame();//下面一句总是出错:我查了一下,是变量pChild和
    pFrame都指向了一个地址! 我之所以这么干,是因为我想在对话框打开前,通过m_pDoc调用一些数据,填到对话框中,否则对话框空空的!
    ASSERT(pChild->IsKindOf(RUNTIME_CLASS(CChildFrame)));
    m_pDoc = (CRelayTestDoc*)pChild->GetActiveDocument();
    //在这儿,m_pDoc总是为000000(即为空)
      

  4.   

    你可以连接变量的方法阿
    CWnd 和CFormView本来就不是一个类,除非你多继承,不过不太可能
      

  5.   

    OnInitialUpdate()是所有的从CView类派生而来的类的初始化函数!
    和CDialog类的OnInitDialog()函数的功能一样!都是完成初始化的工作!