LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    PAINTSTRUCT ps;
    HDC hdc;
HBRUSH oldBrush;
    switch (msg) 
    { 
        case WM_CREATE: 
            // Initialize the window. 
            return 0; 
 
        case WM_PAINT: 
            // Paint the window's client area. 
  hdc=::BeginPaint(g_AppData.hWnd,&ps);//断点1
                     ...............
  DrawInfo();//断点2
          EndPaint(g_AppData.hWnd,&ps);
            return 0; 
 
        case WM_SIZE: 
            // Set the size and position of the window. 
            return 0; 
 
        case WM_DESTROY:             return 0; 
        default: 
            return DefWindowProc(hWnd, msg, wParam, lParam);    
    }  return 0;
}我在以上代码断点1和断点2处分别设置断点,调试时会在两个断点处循环执行,
请问WM_PAINT的执行顺序是怎样的?