1.新建

文件->新建->项目,然后进行如图下的设置,名称自定,工程路径随意。

2.项目设置

新建好项目之后,需要进行设置,第一个页面之间点击【下一步】,进入下图界面进行设置。

 

3.建好和设置好项目之后,就建立了一个什么都没有的空项目。头文件源文件和资源文件统统的没有。所以,需要新建一个源文件,用于写代码。

  项目->添加新项。就可以选择要添加的内容,如下图所示,我们现在只是需要添加一个cpp的文件。

4.写代码

  

 1 #include <windows.h>
 2 #include <stdio.h>
 3 
 4 LRESULT CALLBACK WinSunProc(
 5     HWND hwnd,
 6     UINT uMsg,
 7     WPARAM wParam,
 8     LPARAM lParam
 9     );
10 
11 int WINAPI WinMain(
12     HINSTANCE hInstance,
13     HINSTANCE hPrevInstance,
14     LPSTR lpCmdLine,
15     int nCmdShow)
16 {
17     //设计一个窗口类
18     WNDCLASS wndcls;
19     wndcls.cbClsExtra = 0;
20     wndcls.cbWndExtra = 0;
21     wndcls.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
22     wndcls.hCursor = LoadCursor(NULL , IDC_CROSS);
23     wndcls.hIcon = LoadIcon(NULL , IDI_ERROR);
24     wndcls.hInstance = hInstance;
25     wndcls.lpfnWndProc = WinSunProc;
26     wndcls.lpszClassName = "sunxin2006";
27     wndcls.lpszMenuName = NULL;
28     wndcls.style = CS_HREDRAW | CS_VREDRAW;
29     RegisterClass(&wndcls);
30 
31     //创建窗口,定义一个变量来保存成功创建窗口后返回的句柄
32     HWND hwnd;
33     hwnd = CreateWindow("sunxin2006", "http://www.sunxin.rog",
34         WS_OVERLAPPEDWINDOW,0, 0, 600, 400, NULL, NULL, hInstance, NULL);
35 
36     //显示及刷新窗口
37     ShowWindow(hwnd, SW_SHOWNORMAL);
38     UpdateWindow(hwnd);
39 
40     //定义消息结构体,开始消息循环
41     MSG msg;
42     while(GetMessage(&msg, NULL, 0, 0))
43     {
44         TranslateMessage(&msg);
45         DispatchMessage(&msg);
46     }
47     return msg.wParam;
48 }
49 
50 //编写窗口过程函数
51 LRESULT CALLBACK WinSunProc(
52     HWND hwnd,
53     UINT uMsg,
54     WPARAM wParam,
55     LPARAM lParam )
56 {
57     switch(uMsg)
58     {
59     case WM_CHAR:
60         char szChar[20];
61         sprintf(szChar, "char code is %d", wParam);
62         MessageBox(hwnd,szChar,"char",0);
63         break;
64     case WM_LBUTTONDOWN:
65         MessageBox(hwnd, "mouse clicked", "message", 0);
66         HDC hdc;
67         hdc = GetDC(hwnd);
68         TextOut(hdc, 0, 50, "程序员之家",strlen("程序员之家"));
69         break;
70     case WM_PAINT:
71         HDC hDC;
72         PAINTSTRUCT ps;
73         hDC = BeginPaint(hwnd, &ps);
74         TextOut(hDC, 0, 0, "http://www.sunxin.org",
75             strlen("http://www.sunxin.org"));
76         EndPaint(hwnd,&ps);
77         break;
78     case WM_CLOSE:
79         if(IDYES == MessageBox(hwnd,"是否真的结束?","message",MB_YESNO))
80         {
81             DestroyWindow(hwnd);
82         }
83         break;
84     case WM_DESTROY:
85         PostQuitMessage(0);
86         break;
87     default:
88         return DefWindowProc(hwnd,uMsg,wParam,lParam);
89     }
90     return 0;
91 }

5.调试运行。

  当我们满心欢喜的按下f5的时候,你以为会很成功么?错了,你会遇见下面这些可爱的东东。

  然后不要惊慌不要着急,细心看一下,提示的错误大概都是一个错误,也就是字符串的问题。在vc6中,上述代码是没有问题的,原因是vc6的代码没有按可编译为UNICODE版本的方式写。而VS2005之后版本默认是UNICODE编码的。所以所有使用到字串的地方都会出错。方法:修改VS2005之后版本的设置:选择你的项目->属性->常规->设置为不使用UNICODE,发现设置为多字节字符集也可以。发现用VS2005打开VC6的源代码,转换后是使用的多字节字符集。在VS2008,vs2010中,项目->属性->常规->字符集:改为“使用多字节字符集”即可。(关于此处解释,来源于网友http://blog.sina.com.cn/s/blog_7dc276cd01012q5x.html,谢谢分享。)

6.运行成功

  测试一下单击

测试一下键盘字母我按下的是a,

在测试一下退出

比较好使。到此,第一个小栗子照搬结束。

posted on 2014-09-25 15:23  xue泥娃娃  阅读(334)  评论(0编辑  收藏  举报