C++ 初见MFC编程 窗口编程错误!

2019-01-03 01:47发布

为了更好的学习MFC,所以我是从空白页开始编写MFC,没有让编译器自动生成一大堆代码。

解决方案只有一个cpp文件,内容如下:

 1 #include <Windows.h>
 2 LRESULT CALLBACK wndProc(HWND, UINT, WPARAM, LPARAM);
 3 
 4 int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hPrevinstance, 
 5             LPSTR lpCmdline, UINT nCmdshow)
 6 {
 7     WNDCLASS wndCls;
 8     wndCls.lpszClassName ="New Class";
 9     wndCls.hInstance =hinstance;
10     wndCls.lpfnWndProc =wndProc;
11     
12     RegisterClass(&wndCls);
13 
14     HWND hwnd=CreateWindow(wndCls.lpszClassName,"NEW CPT",
15         0,0,0,0,0,0,0,hinstance,0);
16     ShowWindow(hwnd,0);
17     UpdateWindow(hwnd);
18     MSG msg;
19     while(GetMessage(&msg,nullptr,0,0)!=WM_QUIT)
20     {
21         TranslateMessage(&msg);
22         DispatchMessage(&msg);
23     }
24     return msg.wParam;
25 
26 }
27 
28 LRESULT CALLBACK wndProc(HWND hwnd, UINT message, WPARAM wpa, LPARAM lpa)
29 {
30     switch(message)
31     {
32     case WM_KEYDOWN:
33         MessageBox(hwnd,"Hello","msg",0);
34         break;
35     }
36     return 0;
37 }

然而提示错误如下:

敢问大神问题在哪,不解。

注:这个项目中没有任何多余文件或元素,只有这一个代码页。

标签: C++ MFC
1条回答
戒情不戒烟
2楼-- · 2019-01-03 02:36

后来查阅了《基于Visual C++ 的MFC编程》一书后,找到问题所在。

上述代码属于SDK编程范畴,而不是MFC 编程,MFC编程的最大贡献就是把基于API的繁琐编程封装到了MFC的类库里,从而加速了程序猿开发的效率。

本题已结,谢谢浏览。

查看更多
登录 后发表回答