点击一个菜单后,想马上刷新一下客户区
用的是  ::PostMessage(GetSafeHwnd(), WM_PAINT, 0 , 0);
可是系统并不马上调用OnPaint()函数,而是等窗口有变化时才调用
我想马上就刷新,应该怎么办呢?

解决方案 »

  1.   

    我也记得invalidate是强制刷新的,可这次不行啊
    用了updatewindow也不行
    我的重画代码是在OnDraw()中,调用Invalidate()UpdateWindo()是在MainFrm的一个菜单响应函数中哪位再给看一下?
      

  2.   

    这样可不可以:
    void CMainFrame::OnUpdateWindow() 
    {
    // TODO: Add your command handler code here
    this->GetActiveView()->Invalidate();
    this->GetActiveView()->UpdateWindow();
    }
      

  3.   

    谢谢!知道了,调用MainFrm的Inlvalidate和View的Invalidate是不一样的。