首页 新闻 搜索 专区 学院

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

0
悬赏园豆:20 [已解决问题] 解决于 2018-05-04 21:19

为了更好的学习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 }

然而提示错误如下:

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

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

问题补充:

MFC中如何改装WinMain函数

从这个链接中得到一些启发,编译器提示我错误的入口函数(WinMain)重载,那么应该就是指的这个在MFC中隐藏着一个_tWinMain函数

并且#define _tWinMain() WinMain()

可以我查找外部依赖项并没有找到这个APPMODUL.h模块,那么究其原因在哪里呢?

TearsOfDawn的主页 TearsOfDawn | 初学一级 | 园豆:34
提问于:2018-05-02 23:05
< >
分享
最佳答案
0

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

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

本题已结,谢谢浏览。

TearsOfDawn | 初学一级 |园豆:34 | 2018-05-04 21:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册