一个简单窗口(便于窗口消息的理解)
来源:互联网 发布:手机截取在线视频软件 编辑:程序博客网 时间:2024/05/18 07:44
#include <windows.h> //包含windows.h头文件LRESULT CALLBACK WindowProc(HWND, UINT, WPARAM, LPARAM); //声明窗口函数int APIENTRY WinMain(HINSTANCE hinstance, HINSTANCE hPrevinstance, LPSTR lpcmdLine, int nCmdShow) //MFC下的程序入口函数WinMain(),传统的dos程序是以main()作为程序入口的,这一点不同{ WNDCLASS wndclass; //定义窗口类结构体变量 HWND hwnd; //定义窗口类句柄 MSG msg; //定义消息结构体变量 wndclass.style = CS_HREDRAW || CS_VREDRAW; //改变窗口大小则重绘 wndclass.lpfnWndProc = WindowProc; //窗口函数为WindowProc() 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_PEN); //窗口背景为黑色 wndclass.lpszMenuName = NULL; //窗口默认无菜单 wndclass.lpszClassName = L"Windows窗口创建"; //窗口类名为"Windows窗口创建" if (!RegisterClass(&wndclass)) //此为注册类的函数 { return false; //注册不成功,返回false } //创建窗口的函数 hwnd = CreateWindow(L"Windows窗口创建", //窗口类名为"Windows窗口创建" L"Windows窗口创建", //窗口的名称为“Windows窗口创建”,即窗口标题栏显示的窗口名称 WS_OVERLAPPEDWINDOW, //重叠式窗口 CW_USEDEFAULT, CW_USEDEFAULT, //窗口左上角在屏幕上的默认位置 CW_USEDEFAULT, CW_USEDEFAULT, //窗口的宽度和高度 NULL, //窗口无父类窗口 NULL, //窗口无主菜单 hinstance, //创建此窗口的实例句柄 NULL //此窗口无创建参数 ); ShowWindow(hwnd, nCmdShow); //显示窗口 UpdateWindow(hwnd); //不断的更新窗口的客户区 while (GetMessage(&msg, NULL, 0, 0)) //捕获消息 { TranslateMessage(&msg); //键盘消息转换 DispatchMessage(&msg); //派送消息给窗口函数 } return msg.wParam; //返回退出值}LRESULT CALLBACK WindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) //窗口函数{ wchar_t *textTmp = L"Windows!"; switch (message) { case WM_PAINT: //重画窗口客户区消息处理 HDC hdc; //定义设备句柄 PAINTSTRUCT ps; //定义绘图结构体变量 hdc = BeginPaint(hwnd, &ps); //获取要重画的窗口的设备描述表句柄 TextOut(hdc, 15, 20, textTmp, wcslen(textTmp)); //输出到窗口的文本 EndPaint(hwnd, &ps); //结束重画 return 0; case WM_DESTROY: //撤销窗口消息处理 PostQuitMessage(0); //产生退出程序消息WM_QUIT return 0; } return DefWindowProc(hwnd, message, wParam, lParam);}
0 0
- 一个简单窗口(便于窗口消息的理解)
- 一个简单的窗口
- 终于搭好了一个游戏的窗口框架(一个调试窗口,一个消息窗口,一个主窗口)
- 一个简单的汇编窗口
- 一个简单窗口的实现
- 理解SetCapture、ReleaseCapture、GetCapture(控制了消息发往哪个窗口,是理解消息的关键)
- 窗口滑动协议的简单理解
- Windows编程 从消息窗口到基本窗口 游戏循环窗口框架的简单实现
- 【窗口编程】一个简单的C语言窗口程序
- 消息窗口的完成
- 窗口消息的传递
- 窗口的消息处理
- MFC(一):win32创建一个最简单的窗口
- 用SDK创建一个简单的窗口
- 最简单的一个wxPython窗口
- 制作一个简单的等待窗口
- 制作一个简单的等待窗口
- 一个简单的Win32 SDK窗口程序
- 数据存储 (读,写)
- C#连接Oracle数据库(直接引用dll使用-Oracle.ManagedDataAccess.dll)
- MySQL 8.0-dmr 版本下载地址
- Codeforces Round #291 (Div. 2)-C. Watto and Mechanism(Trie树)
- php调用原生java程序
- 一个简单窗口(便于窗口消息的理解)
- 目光放远
- Word自动编号的应用
- 如何完全卸载oracle和删除oracle在注册表中的注册信息
- 一个OpenStack访问请求在各组件之间的调用过程
- JAVA校招面试题
- Appium 是什么?
- Shader学习笔记(三)自定义光照模型,经典光照模型Lambert与HalfLambert
- ajax异步