WIN32下 直接显示DIALOG 窗口不出现的怪问题
代码如下:其实一开始只要求在WIN32下直接实现出现我定制好的DIALOG IDD_CHAT而已,但是hDlg有值但是窗口却不显示,不知是何原因
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
MSG msg;
LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
LoadString(hInstance, IDC__CHAT, szWindowClass, MAX_LOADSTRING);
HWND hDlg = CreateDialog(hInstance,(LPCTSTR)(IDD_CHAT),NULL,(DLGPROC)Chat);
if(! hDlg){
ShowWindow(hDlg, nCmdShow);
UpdateWindow(hDlg);
}
// Main message loop:
while (GetMessage(&msg, NULL, 0, 0))
{
if (IsDialogMessage(hDlg,&msg) )
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
return (int) msg.wParam;
}
对应的回调函数Chat:
LRESULT CALLBACK Chat(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
//UNREFERENCED_PARAMETER(lParam);
switch (message)
{
case WM_INITDIALOG:
return (INT_PTR)TRUE;
case WM_COMMAND:
if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
{
EndDialog(hDlg, LOWORD(wParam));
return (INT_PTR)TRUE;
}
break;
}
return (INT_PTR)FALSE;
}
hDlg有值,但是我showWINDOW不出来 我的环境是VS2005
第一个解决的我会给所有的分,谢谢了