举例:
用InvalidateRect(NULL);可以刷新整个对话框,
但是我知道对话框中一个文本框的ID:ID_STATIC1,和控件名m_static1,应该怎么刷新该文本框(不刷新整个对话框)?
1)this.InvalidateRect(m_static1.GetClientRect(&rect),TRUE);
2)用InvalidateRect(hwnd, NULL, TRUE);hwnd传入句柄
例如InvalidateRect(m_static1.m_hWnd, NULL, TRUE);
3)来狠的CRect rc(0, 0, 100, 100);这个区域包含了您的目标
InvalidateRect(rc);
4)CWnd* pWnd = GetDlgItem( ID号码);
pWnd-> Invalidate();// 只刷新ID对应区域。
剩下的归windows,会在WM_PAINT里面做你希望的事情,千万不要再WM_PAINT里面有这个东西,On_Draw也是一样的,那样会木完了,闪闪的