本帖最后由 zw565292642 于 2015-03-11 15:40:48 编辑

解决方案 »

  1.   

    点击listview时发消息刷新界面?
      

  2.   

    当选择了CFormView这个视图时(视图中的启动按钮此时激活的是CFormView视图)
    当向CListView中发送数据时不显示。
    如果在启动了CFormView这个视图中的启动按钮后在手动点击CListView这个视图(激活)
    发送数据后就可以插入数据到CListView这个视图了;
    应该是激活视图的问题。
    这样可以明白了吗?
      

  3.   

    VS2005以后版本确实可能存在此类问题(我指的是你都说的“激活”),VS及以前版本似乎没有此类问题。
    当用CFormView视图操作向CListView窗口发送数据时,可以试试如下思路:
    通过在CFormView类的函数的内部获取CListView窗口的指针,来直接操作CListView窗口。例如:
    void CFormView::On32774()
    {
    CMainFrame* pframe = (CMainFrame*)AfxGetApp()->m_pMainWnd;
    CListView* pview         = (CListView*)pframe->splitterwnd.GetPane(0,1);//根据具体坐标获取窗口指针
    CDC* pdc = pview->GetDC();
    pdc->TextOutA(0,0,"测试");
    }
    包含头文件:
    #include "MainFrm.h"
    #include "CListView.h"
    CListView和CListView根据需要调成你自己的类名称。
    Good Luck!
      

  4.   

    在某个视图中操作后,调用doc的UpdateAllViews,所有的视图都会更新
      

  5.   

    但两个视图都得和一个确定的DOC关联
      

  6.   


    我的做法就和你说的一样  问题还是需要手动点击一下CListView视图激活后才能读取到数据
      

  7.   


    void CFormView::On32774()
    {
    CMainFrame* pframe = (CMainFrame*)AfxGetApp()->m_pMainWnd;
    CListView* pview         = (CListView*)pframe->splitterwnd.GetPane(0,1);//根据具体坐标获取窗口指针
    CDC* pdc = pview->GetDC();
    pdc->TextOutA(0,0,"测试");Invalidate();
    }
      

  8.   

    你这个应该是要
    pview->Invalidate();