下面是创建对话框的函数调用:
CreateDialog(hInstance,MAKEINTRESOURCE(IDD_DLGMAIN),NULL,DlgFunc);如果IDD_DLGMAIN这个对话框资源里,只添加Button、CheckBox等普通控件就可以成功,但是如果放一个ListCtrl、Spin等Win32公用控件上去,返回的句柄就成为0,不知为何?有望高手与以指教!!!!!!!!!!!!11

解决方案 »

  1.   

    会不会IDD_DLGMAIN已经被占用了,如果IDD_DLGMAIN已经被占用,那么你就不要与其抢占
      

  2.   

    楼上的都不对啊,还有什么高招??????我单独放一个Button上去就可以,放一个ListCtrl就不行,什么原因???
      

  3.   

    源代码贴出来
    #include <windows.h>
    #include <commctrl.h>
    #include "resource.h"INT_PTR CALLBACK DlgFunc(HWND hwndDlg,UINT uMsg,WPARAM wParam, LPARAM lParam );int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int nCmdShow)
    {
    HWND hwndDlg = CreateDialog(hInstance,MAKEINTRESOURCE(IDD_DLGMAIN),NULL,DlgFunc); if(hwndDlg == 0)
    {
    MessageBox(NULL,
    "在创建窗体时发生了致命错误,当前的进程将被终止!",
    "错误",
    MB_ICONSTOP);
    return 0;
    } ShowWindow(hwndDlg, nCmdShow);
    UpdateWindow(hwndDlg); MSG uMsg;
    while( GetMessage( &uMsg, NULL, 0, 0 ) )
    {
    if( hwndDlg == 0 || !IsDialogMessage( hwndDlg, &uMsg ) )
    {
    TranslateMessage(&uMsg);
    DispatchMessage(&uMsg);
    }
    }
    return uMsg.wParam;
    }INT_PTR CALLBACK DlgFunc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam )
    {
    switch(uMsg)
    {
    case WM_CLOSE:
    PostQuitMessage(0);
    break;
    case WM_SETFONT:
    break;
    case WM_DESTROY:
    break;
    case WM_NCDESTROY:
    break;
    }
    return 0;
    }
    -------------------------------------------------------------------下面是资源文件//Microsoft Developer Studio generated resource script.
    //
    #include "resource.h"#define APSTUDIO_READONLY_SYMBOLS
    /////////////////////////////////////////////////////////////////////////////
    //
    // Generated from the TEXTINCLUDE 2 resource.
    //
    #include "afxres.h"/////////////////////////////////////////////////////////////////////////////
    #undef APSTUDIO_READONLY_SYMBOLS/////////////////////////////////////////////////////////////////////////////
    // English (U.S.) resources#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
    #ifdef _WIN32
    LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
    #pragma code_page(1252)
    #endif //_WIN32#ifdef APSTUDIO_INVOKED
    /////////////////////////////////////////////////////////////////////////////
    //
    // TEXTINCLUDE
    //1 TEXTINCLUDE DISCARDABLE 
    BEGIN
        "resource.h\0"
    END2 TEXTINCLUDE DISCARDABLE 
    BEGIN
        "#include ""afxres.h""\r\n"
        "\0"
    END3 TEXTINCLUDE DISCARDABLE 
    BEGIN
        "\r\n"
        "\0"
    END#endif    // APSTUDIO_INVOKED
    /////////////////////////////////////////////////////////////////////////////
    //
    // Dialog
    //IDD_DLGMAIN DIALOGEX 0, 0, 187, 94
    STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
    CAPTION "Dialog"
    FONT 10, "System"
    BEGIN
        CONTROL         "ListFile",IDC_LISTFILE,"SysListView32",LVS_SMALLICON | 
                        LVS_ALIGNLEFT | WS_TABSTOP,19,16,129,58,WS_EX_CLIENTEDGE
        PUSHBUTTON      "Button1",IDC_BUTTON1,98,76,50,14
    END
    /////////////////////////////////////////////////////////////////////////////
    //
    // DESIGNINFO
    //#ifdef APSTUDIO_INVOKED
    GUIDELINES DESIGNINFO DISCARDABLE 
    BEGIN
        IDD_DLGMAIN, DIALOG
        BEGIN
            LEFTMARGIN, 7
            RIGHTMARGIN, 180
            TOPMARGIN, 7
            BOTTOMMARGIN, 87
        END
    END
    #endif    // APSTUDIO_INVOKED#endif    // English (U.S.) resources
    /////////////////////////////////////////////////////////////////////////////#ifndef APSTUDIO_INVOKED
    /////////////////////////////////////////////////////////////////////////////
    //
    // Generated from the TEXTINCLUDE 3 resource.
    //
    /////////////////////////////////////////////////////////////////////////////
    #endif    // not APSTUDIO_INVOKED
      

  4.   

    要先用InitCommonControls()来注册通用控件。
    需要包含#include<commctrl.h>
    链接comctl32.lib
      

  5.   

    大家帮忙看看这个:http://www.csdn.net/expert/topic/822/822284.xml?temp=.2508661
      

  6.   

    用DialogBox( hInst, MAKEINTRESOURCE(IDD_MAIN), NULL, MainDlgProc );
    函数创建对话框即无该问题
      

  7.   

    To wxjz2(macx)我激动的想说粗口了!!!你真TMD牛啊!!!!!!厉害至极,小弟配服!!!!晚上给分,二百分献上!!!!!!!!!!!