我在一个继承自CDialog的对话框窗体中,重写了OnPaint函数,想在窗体大小变化时在正中间输出一段文字,现在是一开始是可以输出,但是窗体大小变化时这段文字位置完全没有变化,在GetUpdataRect中也看出此时明明整个窗口都重绘了,请大家帮忙看下。void CAmmterListWnd::OnPaint()
{
CRect rc;
GetUpdateRect(&rc, TRUE); CString csTmp = "";
csTmp.Format("Trace updateRect left = %d, right = %d, top = %d, bottom = %d", rc.left, rc.right, rc.top, rc.bottom);
OutputDebugString(csTmp);
CPaintDC dc(this); CRect rect;
GetClientRect(&rect); dc.DrawText("Test", &rect, DT_CENTER);
}
{
CRect rc;
GetUpdateRect(&rc, TRUE); CString csTmp = "";
csTmp.Format("Trace updateRect left = %d, right = %d, top = %d, bottom = %d", rc.left, rc.right, rc.top, rc.bottom);
OutputDebugString(csTmp);
CPaintDC dc(this); CRect rect;
GetClientRect(&rect); dc.DrawText("Test", &rect, DT_CENTER);
}
只绘需要绘制的地方,就是有改变的地方