在对话框类中怎样向视图发送刷新视图的消息?谢谢

解决方案 »

  1.   

    可以先取得视图类的指针,然后用该指针调用视图类的OnPaint()或OnDraw();
      

  2.   

    取得视图类的指针Invidate();//好像拼错了
      

  3.   

    得到视图的指针之后,CxxxView *pView;
    pView->Invalidate();
    如果只想刷新某区域,可以调用pView->InvalidateRect(&rect);
      

  4.   

    CView *pView = ...
    pView.Invalidate();
      

  5.   

    ((CMainFrame*)AfxGetApp()->m_pMainWnd)->GetActiveView()->Invalidate();
      

  6.   

    ((CFrameWnd*)AfxGetMainWnd())->GetActiveDocument()->UpdateAllViews(NULL);
      

  7.   

    试试这个
    CView* pView =(CView*)((CMainFrame*)GetParentFrame()->GetActiveView());
      

  8.   

    也可以自定义消息
    DLG.H
    #define WM_MYMSG    WM_USER+2
    DLG.CPP
    OnButtonClick()
    {postmessage(wm_mymsg,IDC_BUTTON);}
    VIEW.CPP
    OnMymsg()
    {Invalidate();}
    比以上的复杂,但如是大工程更有用