宿題レベルだと思いますので、こちらで質問します。

SDKでダイアログベースのTPを作ろうとしているのですが、
DialogBox関数を実行してもダイアログが表示されません。
GetLastError() でエラーを取得すると、
「トップレベルの子ウィンドウを作成できません。」
を意味するエラーが返ってきました。

開発環境: Visual C++ 2010
SDK で「空のプロジェクト」からプロジェクトを作り、
 リソースからDialogを追加して、IDを ID_MYDLG にしています。
以下の main.cpp を作りましたが、上記のような状態です。

#include <windows.h>
#include "resource.h"

BOOL CALLBACK MyDlgProc(HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain(HINSTANCE hCurInst, HINSTANCE hPrevInst, LPSTR lpsCmdLine, int nCmdShow) {
   DWORD err = GetLastError();
   return 0;
}

BOOL CALLBACK MyDlgProc(HWND hDlg, UINT msg, WPARAM wp, LPARAM lp) {
   // ブレークポイントを設定しても、ここを通過しませんでした
   switch (msg) {
      // 省略します
   }
return FALSE;
}

以上です。どこがおかしいでしょうか。。。よろしくお願いいたします。