窗口过程_框架基础
来源:互联网 发布:模拟地理位置的软件 编辑:程序博客网 时间:2024/06/06 15:00
#include <windows.h>#pragma comment(lib, "winmm") LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);int WINAPI WinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPSTR lpCmdLine, _In_ int nShowCmd){static TCHAR str1[] = TEXT("李赛赛爱邱坤小美女\n");HWND hwnd1;MSG msg1;//也是一个结构体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 = str1;if (!RegisterClass(&wndclass))//注册窗口过程类{MessageBox(NULL, TEXT("注册窗口过程类错误"), TEXT("错误"), 0);return 0;}hwnd1 = CreateWindow(str1, L"邱坤小美女", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL);//1标题 WM_CREATEShowWindow(hwnd1, nShowCmd);//WM_SIZE WM_SHOWWINDOWUpdateWindow(hwnd1);//WM_PAINT//从消息队列获取消息while (GetMessage(&msg1, NULL, 0, 0))//消息循环 检索消息{TranslateMessage(&msg1);//调动消息 翻译一些键盘消息 转换给windowsDispatchMessage(&msg1);//分派消息 将消息发给窗口过程 转换给windows 分发消息}return msg1.wParam;//MessageBox(NULL, L"22222", L"1111111", 0);}LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)//窗口回调函数 lParam低位是客户区的宽度 高位是客户区的高度 wParam低位鼠标在滚动条上的动作(通知码) 高位用户拖动滑块的当前位置{HDC hdc;PAINTSTRUCT ps; //绘画结构RECT rect;switch (message){case WM_CREATE:PlaySound(TEXT("hellowin.wav"), NULL, SND_FILENAME | SND_ASYNC);return 0;case WM_PAINT://话绘画 UpdateWindow 窗口创建 尺寸改变 最小化还原 被遮挡覆盖 首先让客户区有效化hdc = BeginPaint(hwnd, &ps);//窗口绘制开始 客户区变的有效 获取hdcGetClientRect(hwnd, &rect);DrawText(hdc, TEXT("我爱邱坤"), -1, &rect,DT_SINGLELINE | DT_CENTER | DT_VCENTER);EndPaint(hwnd, &ps);//释放hdcreturn 0;case WM_DESTROY://摧毁PostQuitMessage(0);//将退出消息插入消息队列 投递(post)return 0;}return DefWindowProc(hwnd, message, wParam, lParam);//执行默认的消息处理}
阅读全文
0 0
- 窗口过程_框架基础
- Java框架窗口基础
- 【Java GUI】框架窗口基础
- Oracle存储过程_基础
- C++ 窗口软件基础框架代码
- java入门教程-10.2Java框架窗口基础
- Java 学习过程记录_语言基础
- 黑马程序员_Java基础_集合框架
- 黑马程序员_Java基础_集合框架
- java基础_ 集合框架之Collection
- 黑马程序员_java基础_集合框架
- 最简单的MFC窗口创建_框架
- GTK编程基础-----框架、比例框架、分栏窗口构件
- android 基础框架和启动过程
- [ATL/WTL]_[初级]_[Win32窗口自定义消息处理过程]
- MFC框架的窗口、文档、视的创建过程
- mfc学习之主框架窗口创建过程
- 窗口过程
- 个人学习笔记1
- 如何去掉BottomNavigationView的Item大于3个时的动画效果
- 线程
- 26. OP-TEE驱动篇----libteec和tee_supplicant调用驱动流程和重要结构体
- KCF_ROS + TLD_ROS 原理以及源码分析
- 窗口过程_框架基础
- InfluxDB查询问题
- 忽略证书验证的CloseableHttpClient
- junit4_SpringMVC_Dubbo
- 文章标题
- kotlin开发安卓
- ORB算法特征匹配
- Java泛型中的标记符含义
- 史上最全Python数据分析学习路径图