下面是创建对话框的函数调用:
CreateDialog(hInstance,MAKEINTRESOURCE(IDD_DLGMAIN),NULL,DlgFunc);如果IDD_DLGMAIN这个对话框资源里,只添加Button、CheckBox等普通控件就可以成功,但是如果放一个ListCtrl、Spin等Win32公用控件上去,返回的句柄就成为0,不知为何?有望高手与以指教!!!!!!!!!!!!11
CreateDialog(hInstance,MAKEINTRESOURCE(IDD_DLGMAIN),NULL,DlgFunc);如果IDD_DLGMAIN这个对话框资源里,只添加Button、CheckBox等普通控件就可以成功,但是如果放一个ListCtrl、Spin等Win32公用控件上去,返回的句柄就成为0,不知为何?有望高手与以指教!!!!!!!!!!!!11
#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
需要包含#include<commctrl.h>
链接comctl32.lib
函数创建对话框即无该问题