菜单栏里添加了一个选项,功能为:点击后,调用view类里ondraw函数,使图形显示在客户区内!   问题:但是点击后并不立即出现结果,而是当对整个单文档界面实现一次放大或缩小后才在客户区内出现预期结果。   我的方法:  我是设了一个全局变量参数,点击后给它附上一个值,然后在ondraw里根据值来判断执行相应的操作!
 
  这个问题想请教一下:(1)怎么在ondraw里改才能实现
                     (2)如果用onpaint,怎么来实现
  麻烦各位了!

解决方案 »

  1.   

    不要直接调用View的OnDraw,
    设CYourView *pView;
    用pView->Invalidate();
      pView->UpdateWindow();
      

  2.   

    "我的方法:  我是设了一个全局变量参数,点击后给它附上一个值,然后在ondraw里根据值来判断执行相应的操作"
    这个方法如果没有特别的需要,可以不用。想实现“菜单栏里添加了一个选项,功能为:点击后,调用view类里ondraw函数,使图形显示在客户区内!”,很简单在点击事件中,处理完需要更新的内容后,加入一句:
       Invalidate();//强制刷新试图区域,不过这样做要求查单的点击事件映射到CMyView中。如果是在其他地方,可以这样AfxGetApp()->m_pMainWnd->GetActiveView()->Invalidate();