メッセージループ内に

case WM_CLOSE:
if (MessageBox(hWnd,"","",MB_OKCANCEL) == IDOK) DestroyWindow (hWnd);
break;

と書いたのですが、キャンセルしてもウインドウが破棄されてプログラムが終了してしまいます。
なぜなのでしょう?