windows——程序结构概述
来源:互联网 发布:edusoho源码下载 编辑:程序博客网 时间:2024/06/06 03:56
程序结构概述
#include <windows.h>LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow){ static TCHAR szAppName[] = TEXT("HelloWin"); HWND hwnd; MSG msg; WNDCLASS wndclass; wndclass.style = CS_HREDRAW | CS_VREDRAW; wndclass.lpfnWndProc = WndProc; wndclass.cbClsExtra = 0; wndclass.cbWndExtra = 0; wndclass.hInstance = hInstance; wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION); wndclass.hCursor = LoadCursor(NULL, IDC_ARROW); wndclass.hbrBackground= (HBRUSH)GetStockObject(WHITE_BRUSH); wndclass.lpszMenuName = NULL; wndclass.lpszClassName= szAppName; if(!RegisterClass(&wndclass)) { MessageBox(NULL, TEXT("This program requires Windows NT!"), szAppName, MB_ICONERROR); return 0; } hwnd = CreateWindow(szAppName, // window class nameTEXT("The Hello Win Program"), // window caption WS_OVERLAPPEDWINDOW, // window style CW_USEDEFAULT,// initial x position CW_USEDEFAULT,// initial y position CW_USEDEFAULT,// initial x size CW_USEDEFAULT,// initial y size NULL, // parent window handle NULL, // window menu handle hInstance, // program instance handle NULL); // creation parameters ShowWindow(hwnd, iCmdShow); UpdateWindow(hwnd); while(GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam;}LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){ HDC hdc; PAINTSTRUCT ps; RECT rect; switch (message) { case WM_CREATE: return 0; case WM_PAINT: hdc = BeginPaint(hwnd, &ps); GetClientRect(hwnd, &rect); DrawText(hdc, TEXT("Hello, Windows!"), -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER); EndPaint(hwnd, &ps); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; } return DefWindowProc(hwnd, message, wParam, lParam);}
程序结构可拆分为以下几个步骤(部分):
- 窗口类别:创建窗口类别(定义WNDCLASS对象)&注册窗口类别(RegisterClass)
- 窗口:创建窗口(CreateWindow)&显示窗口(ShowWindow)&更新窗口(UpdateWindow)
- 消息循环:获取消息(GetMessage)&转换消息(TranslateMessage)&分发消息(DispatchMessage)
- 窗口消息处理程序:处理各类窗口消息,WM_CREATE,WM_PAINT,WM_DESTROY等
windows程序的基本流程为:
- 注册窗口类别
- 建立窗口
- 显示窗口
- 消息循环
- 消息处理(窗口消息处理程序)
阅读全文
0 0
- windows——程序结构概述
- Windows 程序结构
- C#——程序结构
- Golang程序结构概述
- [Go]程序结构——命名
- [Go]程序结构——声明
- [Go]程序结构——变量
- [Go]程序结构——赋值
- [Go]程序结构——类型
- C++ windows编程学习笔记(一)——程序结构的解析
- Windows服务程序结构
- C#入门2.1——C#程序结构
- 第四章——函数与程序结构
- [Go]程序结构——包和文件
- [Go]程序结构——作用域
- GTK+编程入门(2)—GTK+程序结构
- 简单的Windows API程序结构
- MOOC——C语言12:程序结构:全局变量、预编译器和宏、大程序结构
- #bzoj3375#膈膜(水题来着,但小问题频发,一点感受心得)
- MySQL存储引擎--MyISAM与InnoDB区别
- 学习web 的第五个月
- 五种主流的虚拟化技术
- STM32F1战舰的II2C-正点原子的个人梳理(2)
- windows——程序结构概述
- CSS实现单行、多行文本溢出显示省略号
- 高质量的seo优化方案
- 移动端页面适配方案
- css 中盒子剧中
- java web getInitParameter方法
- 生成二维码
- js应用:使用canvas给图片加水印
- suricata 3.2 源码分析(IP数据包分片重组流程)