Chez moi, SendMessage(hWnd, WM_PAINT, 0, 0) ne fonctionne pas toujours . Etonnant.
Sinon, la fonction incontournable :
BOOL InvalidateRect(
HWND hWnd, // handle of window with changed update region
CONST RECT *lpRect, // address of rectangle coordinates
BOOL bErase // erase-background flag
);