我想用CDC的LineTo画一条直线。
画面上已经有其他控件,这样画的直线总是被其它控件挡住。如何才能不被覆盖呢?

解决方案 »

  1.   

    不要使用客户DC,直接取窗口DC画线(HDC hdc=GetDC(hWnd/*窗口指针*/);)
      

  2.   

    CClientDC dc(this);
    dc.MoveTo(0,0);
    dc.LineTo(300,300);
      

  3.   

    保存所画直线信息,响应print消息~~就是每次发出重画消息的时候最后再把直线重画上去~就不会被挡住了
      

  4.   

    很多人都看过孙鑫的VC++视频教程,入门非常不错的教程的链接
    http://lib.verycd.com/2005/03/19/0000042786.html
      

  5.   

    把你画直线的代码放在onpaint的最后面来直线
      

  6.   


    CClientDC dc(GetParent());
     dc.MoveTo(0,0);
     dc.LineTo(300,300);再不行
    CWindowDC dc(this);再不行
    CWindowDC dc(GetParent());再不行
    CWindowDC dc(GetDesktopWindow());
      

  7.   

    咋解决的??我刚发现了个办法只要让窗口全部重绘下就可以了。
    在按钮里加
    RECT ret,ret1;
    GetWindowRect(&ret);
    InvalidateRect(&ret);
    看下效果就知道,你是用的这种方法吗???