对话框为啥不显示额,没有显示

对话框为什么不显示额,没有显示
模式对话框已经有消息循环了,Dialogbox内部有 WINDCLASS 了,所以我没有加。

一下代码是没有显示对话框的。




C/C++ code

/*------------------------------------------
ABOUT1.C -- About Box Demo Program No. 1
(c) Charles Petzold, 1998
------------------------------------------*/

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

static HINSTANCE g_hIn=NULL;


INT_PTR CALLBACK DlgWndProc      (HWND, UINT, WPARAM, LPARAM) ;    //对话框窗口函数

INT_PTR     CALLBACK AboutDlgProc (HWND, UINT, WPARAM, LPARAM) ;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    PSTR szCmdLine, int iCmdShow)
{
    


    DialogBox(hInstance,MAKEINTRESOURCE("IDD_DIALOG1 "),NULL,DlgWndProc);

    
    return 0;

}
//
//
///////////////////////////////////////////////////////////////////////////////
////
//// Dialog
////
//
//IDD_DIALOG1 DIALOGEX 0, 0, 316, 183
//STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
//CAPTION "Dialog"
//FONT 8, "MS Shell Dlg", 400, 0, 0x1
//BEGIN
//DEFPUSHBUTTON   "确定",IDOK,205,162,50,14
//PUSHBUTTON      "取消",IDCANCEL,259,162,50,14
//END



INT_PTR CALLBACK DlgWndProc(HWND hwnd, UINT uMsg, WPARAM wp, LPARAM lp) //对话框窗口函数
{

    switch(uMsg)
    {
    case WM_COMMAND :
        {
            if((LOWORD (wp))==IDM_APP_ABOUT)    //对话框上的id, 如:关于
            {
                DialogBox (g_hIn, TEXT ("AboutBox"), hwnd, AboutDlgProc) ;
                break ;
            }
            else
                break;
        }

    case WM_DESTROY :
        PostQuitMessage (0) ;
        return 0 ;

    default:
        return DefWindowProc (hwnd, uMsg, wp, lp) ;

    }
        return 0;

    }




    INT_PTR  CALLBACK AboutDlgProc (HWND hDlg, UINT uMsg,  WPARAM wParam, LPARAM lParam)
    {


        switch (uMsg)
        {

        case WM_COMMAND :
         {
             switch (LOWORD (wParam))    //关于对话框上的id,如ok, cancel
             {

             case IDOK:
             case IDCANCEL:
                 EndDialog(hDlg,0);
                 return 0 ;
             default:
                 break;
             }
             break ;
         }

        default:
            return DefWindowProc (hDlg, uMsg, wParam, lParam) ;


        }

        return 0 ;
    }





------解决方案--------------------
DialogBox(hInstance,MAKEINTRESOURCE("IDD_DIALOG1 "),NULL,DlgWndProc);
============
一般资源ID不是字符,改成这样试试: 
DialogBox(hInstance,MAKEINTRESOURCE(IDD_DIALOG1),NULL,DlgWndProc);