请教高手:win32如何用DialogBoxIndirectParam创建对话框?
篮球帮 2010-05-13 12:09:20 //声明:
int UICreateModelDialog(HWND hParent);
BOOL CALLBACK MyDialogProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);
int nResult;
//在主模板中调用
nResult = UICreateModelDialog(hWnd);//hWnd为主模板句柄
//定义
int UICreateModelDialog(HWND hParent)
{
static DLGTEMPLATE dlgtmp;
dlgtmp.cdit = 0;
dlgtmp.cx = 300;
dlgtmp.cy = 200;
dlgtmp.style = WS_SYSMENU | WS_BORDER | WS_VISIBLE;
dlgtmp.dwExtendedStyle = 0;
dlgtmp.x = 10;
dlgtmp.y = 10;
return DialogBoxIndirectParam(GetModuleHandle(NULL), &dlgtmp, hParent, MyDialogProc, 0);
}
BOOL CALLBACK MyDialogProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
case WM_INITDIALOG:
return 0;
case WM_PAINT:
return 0;
case WM_CLOSE:
EndDialog(hDlg, nResult);
return 0;
case WM_DESTROY:
DestroyWindow(hDlg);
return 0;
}
return DefDlgProc(hDlg, msg, wParam, lParam);
}
请问下各位高手,为什么会出错?先谢了。