Указывает прямоугольник для перерисовки окна:
BOOL InvalidateRect ( HWND hWnd, // указатель на окно CONST RECT *lpRect, // прямоугольник перерисовки BOOL bErase // режим перерисовки );
Если первый параметр NULL, то будут перерисованы все окна. Если второй параметр NULL, то будет перерисована вся область окна. Последний параметр указывает на действия с фоном, если TRUE, то фон будет стерт, иначе оставлен. При удачном выполнении этой функции результат отличен от нуля.
Указанные области перерисовки накапливаются, пока не будет получено сообщение WM_PAINT или пока эта функция не будет отменена противоположной функцией ValidateRect(). Само сообщение WM_PAINT посылается при необходимости изменить область, но только когда нет в очереди других сообщений. При установке нескольких областей производится их объединение и обработка одним WM_PAINT.
Типичная обработка сообщения в главной функции окна:
case WM_PAINT: hDC=BeginPaint(hWnd, &ps); /* операции вывода */ EndPaint(hWnd, &ps); break;