在OnDraw里的pDC,可以正确绘图
{
    GetWindowRect(&rc);
    pDC->MoveTo(rc.left, ..);
    pDC->LineTo(rc.right, ..);
}
而在View的MyFuc()里,就是怎么画也画不出来,
{
    CDC* pDC = GETDC();
    ...
}
应该是DC的缘故吧,不大会是坐标的关系?到底GetDC怎么取呢?

解决方案 »

  1.   

    还是画不出来。我看了一下dc的m_hDC和 pDC里的m_hDC不一样的。
      

  2.   

    怎么画不出来的,不要用调试,OnDraw里,自己会刷新,重新调用的,你的MyFun却只能调用一下,被你的调试器一盖,再回来你的程序,你画的东西早不见了
      

  3.   

    楼上说的是,你看不见在MyFun里画的东西,是因为你不清楚你的OnDraw在什么时候被系统偷偷调用了一下,结果把已经画出来的擦掉的。基本上,你只能在OnDraw里画,除非你使用Win2000以后的“分层型窗口”
      

  4.   

    你可以画东西,把MYFUNC添加到ONDRAW函数的最下端这样系统调用ONDRAW的时候也会调用你的函数重新画一次的!!
      

  5.   

    OnUpdate调用的OnDraw. 你重新生成一下OnUpdate.做类时的CDC类生成.做SrcToClient等坐标转换调用.