我新建了一个SDI单文档工程,MFC向导第六步将C**View的基类选择的是CListView,工程建好后,我又添加了一个基于CRecordView类的一个窗体,在初始化程序里我用的静态分割将主窗口分成两部分,左边是基于clistview的窗体,右边是基于crecordview的窗体,目的是在右边窗体的编辑框内操作数据库,在左边的报表窗体里显示数据库中的数据。现在右边窗体的数据库操作没有问题,只是左边的窗体不能同步更新,比如我点击了自定义的添加按钮之后,数据写入数据库了,但是并没有在左边的窗体中显示出来
我想请问高手们该怎么实现我的想法呢?
希望能给我说说详细的步骤,我是初学者,不胜感激!!

解决方案 »

  1.   

    在自定义的添加按钮函数的最后添加如下代码
    CMainFrame * p=(CMainFrame*)AfxGetApp()->m_pMainWnd;
    目的是得到指向主框架的指针。
    接着添加代码:p->函数名; 函数名为在CMainFrame类中自定义的一个函数名,比如OnUpdate()  ,那么刚才的那句代码就可以是p->OnUpdate();
    而后在OnUpdate()函数中添加如下代码:
    CMyView  * p=(CMyView *)m_wndSplitter.GetPane(0,0);//得到指向基类为CListView类的CMyView的指针, m_wndSplitter.GetPane(0,0)返回的是静态分割后左边的窗体指针,就是列表窗体的指针
    p->OnDisplay();  //此函数为在CMyView类中自定义的列表更新函数。
    这样就实现了通过在右边的窗体点击自定义的添加按钮更新了左边的窗体
      

  2.   

    在自定义的添加按钮函数的最后添加如下代码 
    CMainFrame * p=(CMainFrame*)AfxGetApp()->m_pMainWnd; 
    目的是得到指向主框架的指针。 
    接着添加代码:p->函数名; 函数名为在CMainFrame类中自定义的一个函数名,比如OnUpdate()  ,那么刚才的那句代码就可以是p->OnUpdate(); 
    而后在OnUpdate()函数中添加如下代码: 
    CMyView  * p=(CMyView *)m_wndSplitter.GetPane(0,0);//得到指向基类为CListView类的CMyView的指针, m_wndSplitter.GetPane(0,0)返回的是静态分割后左边的窗体指针,就是列表窗体的指针 
    p->OnDisplay();  //此函数为在CMyView类中自定义的列表更新函数。 
    这样就实现了通过在右边的窗体点击自定义的添加按钮更新了左边的窗体