码迷,mamicode.com
首页 > 其他好文 > 详细

应用程序窗口示例

时间:2015-08-05 20:05:46      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:

 1 //Windows.h文件中包含应用程序中所需的数据类型和数据结构的定义
 2 #include <Windows.h>
 3 #include <tchar.h>
 4 
 5 LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);            //窗口函数说明
 6 //------------------------------以下是入口函数的代码------------------------------
 7 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
 8 {
 9     WNDCLASSEX wcex;
10     HWND hWnd;
11     MSG msg;
12     TCHAR szWindowClass[] = L"窗口示例";                    //窗口类名
13     TCHAR szTitle[] = L"My Windows";                        //窗口标题名
14 
15     //------------------------------以下初始化窗口类------------------------------
16     wcex.cbSize = sizeof(WNDCLASSEX);                        //窗口类的大小
17     wcex.style = 0;                                        //窗口类型为默认类型
18     wcex.lpfnWndProc = WndProc;                            //窗口处理函数为WndProc
19     wcex.cbClsExtra = 0;                                    //窗口类无扩展
20     wcex.cbWndExtra = 0;                                    //窗口实例无扩展
21     wcex.hInstance = hInstance;                            //当前实例句柄
22     wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_APPLICATION));
23                                                         //窗口的图标为默认图标
24     wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
25                                                         //窗口采用箭头光标
26     wcex.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);    //窗口背景为白色
27     wcex.lpszMenuName = NULL;                                //窗口中无菜单
28     wcex.lpszClassName = szWindowClass;                        //窗口类名为“窗口示例”
29     wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_APPLICATION));
30                                                         //窗口的小图标为默认图标
31 
32     //------------------------------以下进行窗口类的注册------------------------------
33     if (!RegisterClassEx(&wcex))                            //如果注册失败则发出警告
34     {
35         MessageBox(NULL, _T("窗口类注册失败!"), _T("窗口注册"), NULL);
36         return 1;
37     }
38     //------------------------------以下创建窗口------------------------------
39     hWnd = CreateWindow(
40         szWindowClass,                                    //窗口类名
41         szTitle,                                            //窗口实例的标题名
42         WS_OVERLAPPEDWINDOW,                                //窗口的风格
43         CW_USEDEFAULT, CW_USEDEFAULT,                        //窗口左下角坐标为默认值
44         CW_USEDEFAULT, CW_USEDEFAULT,                        //窗口的高和宽为默认值
45         NULL,                                            //此窗口无父窗口
46         NULL,                                            //此窗口无主菜单
47         hInstance,                                        //创建此窗口应用程序的当前句柄
48         NULL                                                //不使用该值
49         );
50     if (!hWnd)                                            //如果创建窗口失败则发出警告
51     {
52         MessageBoxW(NULL, L"创建窗口失败!", _T("创建窗口"), NULL);
53         return 1;
54     }
55     ShowWindow(hWnd, nCmdShow);                            //显示窗口
56     UpdateWindow(hWnd);                                    //绘制用户区
57     while (GetMessage(&msg, NULL, 0, 0))                    //消息循环
58     {
59         TranslateMessage(&msg);
60         DispatchMessage(&msg);
61     }
62 
63     return(int)msg.wParam;                                    //程序终止时将信息返回系统
64 }
65 //------------------------------以下是窗口函数的代码------------------------------
66 LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
67 {
68     switch (message)
69     {
70     case WM_DESTROY:
71         PostQuitMessage(0);                                //调用PostQuitMessage发出WM_QUIT消息
72         break;
73     default:
74         return DefWindowProc(hWnd, message, wParam, lParam);
75                                                         //默认时采用系统消息默认处理函数
76         break;
77     }
78     return 0;
79 }

 

应用程序窗口示例

标签:

原文地址:http://www.cnblogs.com/yjcheng1314/p/4705586.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!