MFC做的窗口为什么不显示?

我按照孙鑫的VC++教学视频第一课,以照视频抄的代码,为什么无窗口显示?taskmgr进程上面有其运行状态。下面是源码:
#include<windows.h>
#include<stdio.h>
LRESULT CALLBACK WinSunProc(//函数声明
HWND hWnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
int WINAPI WinMain(//主函数
HINSTANCE hInstance,//当前实例句柄
HINSTANCE hPrevInstance,//前一个实例句柄
LPSTR lpCmdLine,//命令行
int nCmdShow//显示状态
){
WNDCLASS wndcls;//设计窗口类
wndcls.cbClsExtra=0;//额外附加字节数,用不到
wndcls.cbWndExtra=0;//窗口附加字节数,用不到
wndcls.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
wndcls.hCursor=LoadCursor(NULL,IDC_CROSS);
//第一个参数为应用程序实例句柄,此处
//使用标准光标,参数值为NULL,第二个参
//数为光标类型,此处为十字型
wndcls.hIcon=LoadIcon(NULL,IDI_ERROR);//与上面类似
wndcls.hInstance=hInstance;
wndcls.lpfnWndProc=WinSunProc;
wndcls.lpszClassName="WeiXin2003";
wndcls.lpszMenuName=NULL;
wndcls.style=CS_HREDRAW | CS_VREDRAW;
RegisterClass(&wndcls);//注册窗口类
//创建窗口
HWND hwnd;
hwnd=("WeiXin2003","维新魏星科学技术培训中心",WS_OVERLAPPEDWINDOW,
0,0,600,400,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,SW_SHOWNORMAL);//显示窗口
//UpdateWindow(hwnd);//更新窗口
//消息处理
MSG msg;
while(GetMessage(&msg,NULL,0,0)){
TranslateMessage(&msg);//转换
DispatchMessage(&msg);//
}
return 0;
}
LRESULT CALLBACK WinSunProc(
HWND hWnd,//handle to window
UINT uMsg,//messange identifier
WPARAM wParam,//first message parameter
LPARAM lParam //second message parameter
)
{
switch(uMsg){
case WM_CHAR://按键消息
char szChar[20];
sprintf(szChar,"Char is %c",wParam);
MessageBox(hWnd,szChar,"WeiXin",0);//参数分别为窗口句柄,显示内容,标题,按钮类型
break;
case WM_LBUTTONDOWN://鼠标左键消息
MessageBox(hWnd,"Mouse clicked","WeiXin",0);
HDC hdc;
hdc=GetDC(hWnd);
TextOut(hdc,0,50,"计算机编程语言培训",strlen("计算机编程语言培训"));
ReleaseDC(hWnd,hdc);//释放
break;
case WM_PAINT://窗口重绘
//HDC hdc;
PAINTSTRUCT ps;
hdc=BeginPaint(hWnd,&ps);
TextOut(hdc,0,0,"维新培训",strlen("维新培训"));
EndPaint(hWnd,&ps);
break;
case WM_CLOSE://关闭按钮
if(IDYES==MessageBox(hWnd,"是否真的结束?","weixin",MB_YESNO)){
DestroyWindow(hWnd);//选择YES销毁窗口
}
break;
case WM_DESTROY://销毁窗口
PostQuitMessage(0);//
break;
default:
return DefWindowProc(hWnd,uMsg,wParam,lParam);
}
return 0;
}

创建窗口那边的代码,hwnd= 后面、括号前面漏了 CreateWindow追问

非常感谢,真不明白这样也能编译通过,是我太马虎了,谢谢。

追答

逗号表达式的值是最后一个,也就是说那些代码相当于hwnd=NULL(……

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网