#include<windows.h>

LRESULT CALLBACK WndProc(HWND hwnd , UINT msg , WPARAM wp , LPARAM lp) {
  switch (msg) {
    case WM_LBUTTONUP:
      MessageBox(NULL , "", "", MB_OK);
      SendMessage(hwnd, WM_CLOSE, 0, 0);
      return 0;

    case WM_DESTROY:
      PostQuitMessage(0);
      return 0;
  }
  return DefWindowProc(hwnd , msg , wp , lp);
}

↑のプログラム(WinMainは省略, ウィンドウを1つ作成)を実行させ、
ウィンドウ内で左クリックすると、1つ目のダイアログが出ます。
OKボタンを押さなければ、ウィンドウプロシージャを抜けないので、
メッセージループにも制御が戻らないと思ったのですが、
その状態で再び左クリックすると、もう1つダイアログが表示されます。
この挙動がいまいち理解できません。
なぜ2つ目のダイアログは表示されるのでしょうか?