因为我想通过
CWnd *pWnd=CWnd::FromHandle(m_hWndMDIClient)->GetWindow(GW_CHILD);
pWnd=pWnd->GetWindow(GW_HWNDNEXT);
获得当前所有子窗口
然后想向这些子窗口的view发送消息(画图)
就是想同时向每个子窗口画图,
因为子窗口数很多,一个一个的画,显示太慢.谢谢!(即使错了也会给分的)

解决方案 »

  1.   

    得到当前活动的view
    ((Ciew*)(((CMainFrame*)AfxGetMainWnd())->MDIGetActive())->GetActiveView
    请问如何获得其他非活动的呢?
      

  2.   

    请看:
    http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=79156
    得到active view
      

  3.   

    画图应该不是你主动通过发什么消息来画的,而是通过CDocument中的数据来画,你应该改变的是CDocument中的数据,然后UpdataAllViews,这才是正确的方式。
    建议搂猪先找一下书编几个例程比较好一些,不要走弯路
      

  4.   

    我的数据都是view的成员变量啊
    有上百个数组啊
      

  5.   

    DOC类才是存放绘图数据的地方
      

  6.   

    请问每个子窗口是不是都对应一个自己的Doc对象?
    因为我每个图需要的数据都不一样的.
    而且每次重画都要重新从数据库重新取数据的
      

  7.   

    to bluebohe:
    要把view里的改到doc很麻烦的,太多函数和成员变量了
    有没有用postmessage向每个view发消息的?
      

  8.   

    另:
    我在Ontimer里kill自己
    然后执行一段操作(该段代码执行时间不定,时短时长)
    再重新settimer但是timer并不是重新计时哦我的目的:想执行完那段操作再重新计时,有什么办法么?