我为了在改变对话框大小,在对话框的onsize中重画了对话框中的所有控件,其中,Tab Control控件在改变大小时不停抖动,不知道有没有什么解决方法?或者是想完成这样的功能有没有什么更好的方法?我的Tab Control控件是每项做了一个对话框.高人指点我啊!

解决方案 »

  1.   

    做控件批量的改变大小
    HDWP   hDwp = ::BeginDeferWindowPos(7);  // 开始批量调整(共7个控件)
    // 计算每一个控件的新坐标
    ::DeferWindowPos(hDwp, hToolBar, NULL, cx - sz.cx - m_cxMargin, ifrt, sz.cx, sz.cy, 
    SWP_NOZORDER|SWP_NOACTIVATE);.... // 一共7个..
    ::DeferWindowPos(hDwp, hLabChat, NULL, il, ifrt, m_cxLab, m_cyRow,
    SWP_NOZORDER|SWP_NOACTIVATE);// 最后,一次调整所有的控件::EndDeferWindowPos(hDwp);
    Invalidate();  // 重绘