窗体拖放改变大小的时候造成不断重画的闪烁,发现qq的窗体拖的时候也是闪烁的
但是瑞星的窗体不会,它是记录拖动结束后的位置,然后再重画,过程中不重绘
那么如何解决这个问题呢?
已经用了网上双缓冲的方法去画图,但是无法解决拖动中闪烁的问题
我想禁止窗口大小改变过程中的重画消息:在下面函数中加入SetRedraw(FALSE);
void CMainFrame::OnSizing(UINT fwSide, LPRECT pRect) 
{
CFrameWnd::OnSizing(fwSide, pRect);

// TODO: Add your message handler code here SetRedraw(FALSE);}但是怎么不行呢?
求高人解决,在线等~~急啊

解决方案 »

  1.   

    如果是控件的闪烁
             CPaintDC dc(this);
             ......
             m_cCtrl.GetWindowRect(rc);
    ScreenToClient(rc);
    rgn.CreateRectRgnIndirect(rc);
    dc.SelectClipRgn(&rgn, RGN_DIFF);
    rgn.DeleteObject();
             ......
      

  2.   

    OnSizing中不要调用基类直接返回。
      

  3.   

    onSizing中直接返回吗?不行哦,怎么做?回psbeond,是拖动框架的问题